HarmonyOS 鸿蒙Next--Refresh组件的一个Bug
HarmonyOS 鸿蒙Next–Refresh组件的一个Bug
Refresh,如果是自定义下拉刷新样式的,并且主体内容的第一项,如果是透明背景,则会显示出半边Loading;
白色背景遮挡住了就不会出现
并没有bug,根据你提供的代码可知,你是使用的自定义刷新样式,并且样式中使用了组件LoadingProgress(),但是在刷新完成之后你并没有隐藏该组件,请如下图所示添加.enableLoading(this.isRefreshing)
谢谢
@Entry @Component struct Index { @State isRefreshing: boolean = false @State arr: String[] = [‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘10’]
@Builder customRefreshComponent() { Stack() { Row() { LoadingProgress().height(32) Text(“正在刷新…”).fontSize(16).margin({ left: 20 }) } .alignItems(VerticalAlign.Center) }.width(“100%”).align(Alignment.Center) }
build() { Column() { Refresh({ refreshing: $$this.isRefreshing, builder: this.customRefreshComponent() }) { List() { ForEach(this.arr, (item: string) => { ListItem() { Text(’’ + item) .width(‘100%’) .height(100) .fontSize(16) .textAlign(TextAlign.Center) .borderRadius(10) .backgroundColor(Color.Transparent) } }, (item: string) => item) } .onScrollIndex((first: number) => { console.info(first.toString()) }) .width(‘100%’) .height(‘100%’) .divider({ strokeWidth: 1, color: Color.Yellow, startMargin: 10, endMargin: 10 }) .scrollBar(BarState.Off) } .onStateChange((refreshStatus: RefreshStatus) => { console.info('Refresh onStatueChange state is ’ + refreshStatus) }) .onOffsetChange((value: number) => { console.info(‘Refresh onOffsetChange offset:’ + value) }) .onRefreshing(() => { setTimeout(() => { this.isRefreshing = false }, 2000) console.log(‘onRefreshing test’) }) .backgroundColor(0xFFFFFF) .refreshOffset(64) .pullToRefresh(true) } } }
Next版本,代码如下,麻烦你运行一下就可以看到了
我也是,官网工单,一直都没回复了
关于HarmonyOS 鸿蒙Next中Refresh组件的一个Bug,这里提供一些可能的解决方案:
- 确认系统版本:确保鸿蒙Next系统为最新版本,因为华为会不断发布更新以修复已知的系统和组件bug。
- 清理缓存并重启:缓存堆积可能导致系统或组件运行异常,定期清理并重启设备可能有助于解决问题。
- 检查组件嵌套:Refresh组件在与Scroll/List等组件嵌套使用时,可能会遇到滑动冲突。请检查组件的嵌套方式和属性设置,确保它们正确无误。
- 查看错误日志:利用开发者模式中的错误日志功能,定位问题的具体根源,这有助于更精确地解决问题。
如果上述方法都无法解决Refresh组件的Bug,建议直接联系华为官方客服,以便获得更专业的技术支持。同时,也可以访问HarmonyOS的开发者社区或论坛,看看其他开发者是否遇到并解决了类似的问题。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html