HarmonyOS Scroll回调方法执行改变
执行了this.scrollerForList.scrollToIndex(5)后,目前版本不执行onDidScroll回调了,这是bug还是以后都不会执行了
@Entry
@Component
  //滚动控制器新增按给定速度执行惯性滚动的函数fling
struct ListExample {
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  scrollerForList: Scroller = new Scroller()
  build() {
    Column() {
      Button('scrollToIndex-5')
        .height('5%')
        .onClick(() => {
          this.scrollerForList.scrollToIndex(5)
        })
      List({ space: 20, initialIndex: 0, scroller: this.scrollerForList }) {
        ForEach(this.arr, (item: number) => {
          ListItem() {
            Text('' + item)
              .width('100%').height(100).fontSize(16)
              .textAlign(TextAlign.Center).borderRadius(10).backgroundColor(0xFFFFFF)
          }
        }, (item: string) => item)
      }
      .onDidScroll((scrollOffset: number, scrollState: ScrollState) => {
        console.info(`onScroll scrollState = ScrollState` + scrollState + `, scrollOffset = ` + scrollOffset)
      })
      .listDirection(Axis.Vertical) // 排列方向
      .scrollBar(BarState.Off)
      .friction(0.9)
      .divider({ strokeWidth: 2, color: 0xFFFFFF, startMargin: 20, endMargin: 20 }) // 每行之间的分界线
      .edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring
      .width('90%')
    }
    .width('100%')
    .height('100%')
    .backgroundColor(0xDCDCDC)
    .padding({ top: 5 })
  }
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 组件build(){}方法执行完毕有对应的回调方法吗? 
1314浏览  • 1回复 待解决
HarmonyOS @Watch回调方法没有改变 
851浏览  • 1回复 待解决
HarmonyOS promptAction弹窗在axios.request()的回调中无法执行 
1349浏览  • 1回复 待解决
taskpool任务执行结束后如何执行回调方法 
3261浏览  • 1回复 待解决
HarmonyOS Swiper组件onVisibleAreaChange方法执行异常 
901浏览  • 1回复 待解决
HarmonyOS Scroll组件onScroll回调异常 
849浏览  • 1回复 待解决
HarmonyOS Scroll组件回调事件问题 
1401浏览  • 1回复 待解决
HarmonyOS web组件的runJavaScript方法执行失败 
2286浏览  • 1回复 待解决
HarmonyOS WebView如何监听this.webViewController.backward()方法执行完成? 
1415浏览  • 1回复 待解决
HarmonyOS taskPool执行的task内如何回调主线程的方法 
1955浏览  • 1回复 待解决
如何通过AOP统计方法执行时间 
1622浏览  • 1回复 待解决
DevEco无法执行Previewer 
1819浏览  • 1回复 待解决
HarmonyOS zlib.compressFile不执行回调 
773浏览  • 1回复 待解决
HarmonyOS CustomDialog 中cancel回调没有执行 
1489浏览  • 1回复 待解决
HarmonyOS onAreaChange回调方法问题 
1369浏览  • 1回复 待解决
HarmonyOS 页面间的路由通讯回调改变值 
1105浏览  • 1回复 待解决
HarmonyOS Scroll 组件 OnScroll回调返回的yOffset 不准 
996浏览  • 1回复 待解决
HarmonyOS 点击事件的回调方法 
1424浏览  • 1回复 待解决
debug调试的时候,watch添加方法执行结果都是undefined 
1478浏览  • 1回复 待解决
@Watch装饰器的回调执行顺序 
1290浏览  • 1回复 待解决
ForEach在真机上无法执行 
3071浏览  • 1回复 待解决
UIAbility的onDestroy()函数是同步的,怎么保证异步方法执行完 
3055浏览  • 1回复 待解决
HarmonyOS 组件是否有销毁回调方法 
1886浏览  • 1回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调 
1342浏览  • 1回复 待解决
NAPI执行上层回调时,如何获取env 
3636浏览  • 1回复 待解决





















不执行的原因是因为没有使用scrollToIndex的动画,直接一帧调到对应的元素所以不触发,在ScrollToIndex的时候第二个参数加上true添加滚动动画就会触发回调 参考代码如下: