在HarmonyOS NEXT开发中使用scrollToIndex不触发onScroll回调?

在HarmonyOS NEXT开发中使用scrollToIndex不触发onScroll回调?在List中,使用Scroller 使用scrollToIndex不触发onScroll回调,使用scrollTo是可以出发回调的,scrollToIndex滚动到指定为止,则不行。

阅读 1.4k
1 个回答

没有使用scrollToIndex的动画,直接一帧调到对应的元素所以不触发 在ScrollToIndex的时候第二个参数加上true添加滚动动画就会触发回调:

List({ 
  space: 3, 
  scroller: this.scroller, 
}) { 
  LazyForEach(this.data, (item: string, index: number) => { 
    ListItem() { 
      MyListItem({ item }) 
        .onClick(() => { 
          this.scroller.scrollToIndex(index) 
        }) 
    } 
  }, (item: string) => item) 
} 
.onScroll((xOffset: number, yOffset: number) => { 
  console.info('onScroll', yOffset) 
}) 
.onDidScroll((xOffset: number, yOffset: number) => { 
  console.info('onDidScroll', yOffset) 
})