HarmonyOS 鸿蒙Next List onScrollVisibleContentChange 无效

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next List onScrollVisibleContentChange 无效

List onScrollVisibleContentChange 无效

2 回复
参考如下demo:
// xxx.ets
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  scroller: Scroller = new Scroller();

build() { Column() { List({ space: 20, initialIndex: 0 ,scroller: this.scroller}) { ForEach(this.arr, (item: number) => { ListItem() { Text(’’ + item) .width(‘100%’) .height(100) .fontSize(16) .textAlign(TextAlign.Center) .borderRadius(10) .backgroundColor(0xFFFFFF) } }, (item: string) => item) } .listDirection(Axis.Vertical) // 排列方向 .scrollBar(BarState.Off) .friction(0.6) .divider({ strokeWidth: 2, color: 0xFFFFFF, startMargin: 20, endMargin: 20 }) // 每行之间的分界线 .edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring .onScrollIndex((firstIndex: number, lastIndex: number, centerIndex: number) => { console.info(‘first’ + firstIndex) console.info(‘last’ + lastIndex) console.info(‘center’ + centerIndex) }) .onScrollVisibleContentChange((start: VisibleListContentInfo, end: VisibleListContentInfo) => { console.log(’ start index: ’ + start.index + ’ start item group area: ’ + start.itemGroupArea + ’ start index in group: ’ + start.itemIndexInGroup) console.log(’ end index: ’ + end.index + ’ end item group area: ’ + end.itemGroupArea + ’ end index in group: ’ + end.itemIndexInGroup) }) .onDidScroll((scrollOffset: number, scrollState: ScrollState) => { console.info(onScroll scrollState = ScrollState + scrollState + , scrollOffset = + scrollOffset) }) .width(‘90%’) } .width(‘100%’) .height(‘100%’) .backgroundColor(0xDCDCDC) .padding({ top: 5 }) } }

针对您提到的HarmonyOS(鸿蒙)系统中Next List组件的onScrollVisibleContentChange方法无效的问题,这通常与事件监听或组件状态更新有关。以下是一些可能的原因分析:

  1. 事件绑定问题:确保onScrollVisibleContentChange方法已正确绑定到Next List组件上。检查是否有拼写错误或绑定方式不正确的情况。

  2. 组件状态未刷新:在滚动过程中,如果组件的状态没有正确刷新,可能会导致该方法不被触发。检查与滚动相关的状态变量和数据更新逻辑是否正确。

  3. 系统或SDK版本问题:某些鸿蒙系统版本或SDK中可能存在bug,导致该方法无法正常工作。确认您使用的鸿蒙系统版本和SDK版本是否支持该功能,并查看相关文档或更新日志。

  4. 自定义组件影响:如果Next List组件被封装在自定义组件中,确保自定义组件正确传递了滚动事件。

请根据上述分析检查您的代码和配置。

鸿蒙Next教程已发布,可以先学学,早学早涨薪https://www.itying.com/category-93-b0.html

回到顶部