HarmonyOS Scroll容器如何在首次渲染的时候可以传入初始的滚动偏移量

1、行情列表支持左右滑动,在ListItem里面使用的Scroll组件来支持左右滑动。

2、Scroll左右滑动停下后,点击列表的头的字段进行排序。

3、在Scroll的onAppear里面设置偏移量,会出现 Scroll 从偏移量0的位置 滚动到 设置的偏移量的位置, 呈现的效果就是闪一下。

HarmonyOS
2024-08-29 10:01:11
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以在list中设置initialIndex,来默认加载到具体的ListItem列,这种方案是否可以满足您的需要,参考代码如下:

@Entry 
@Component 
struct ScrollDemo { 
  private arr: number[] = [] 
  private scrollerForList: Scroller = new Scroller() 
 
  aboutToAppear() { 
    for (let i = 0; i < 20; i++) { 
      this.arr.push(i) 
    } 
  } 
 
  build() { 
    Column() { 
      Row() { 
        List({ space: 10, initialIndex: 3, scroller: this.scrollerForList }) { 
          ForEach(this.arr, (item: number) => { 
            ListItem() { 
              Text('' + item) 
                .fontSize(16) 
                .textAlign(TextAlign.Center) 
            }.backgroundColor(0xFFFFFF).width(50).height(50) 
          }, (item: number) => JSON.stringify(item)) 
        } 
        .borderWidth(1) 
        .height(80) 
        .chainAnimation(true) 
        .edgeEffect(EdgeEffect.Spring) 
        .listDirection(Axis.Horizontal) 
        .backgroundColor(0xDCDCDC) 
      }.width('100%').height('40%') 
    } 
  } 
}
分享
微博
QQ
微信
回复
2024-08-29 21:35:09
相关问题
如何获取Scroll组件的当前滚动偏移量
2192浏览 • 1回复 待解决
Scroll初始时自动滚动一段距离
928浏览 • 1回复 待解决