前言:
现在小伙伴们对“滚动条滚动到指定位置”大约比较着重,小伙伴们都想要了解一些“滚动条滚动到指定位置”的相关资讯。那么小编在网摘上搜集了一些有关“滚动条滚动到指定位置””的相关知识,希望咱们能喜欢,我们一起来了解一下吧!在 Scroller 里,通过 scrollToIndex 可以控制 List 滚动到指定位置。
declare class Scroller { /** * 滚动到指定位置 */ scrollToIndex(value: number);}value:位置(索引)
接下来,写一个滚动到指定位置的示例。
首先,定义数据源并初始化。
@Entry@Componentstruct Index { /** * 数据源 */ names: string[] = [] aboutToAppear() { // 填充数据 for (let i = 0; i < 50; i++) { this.names.push(`数据${i}`) } }}
然后,给 List 设置 Scroller。
@Entry@Componentstruct Index { /** * 数据源 */ names: string[] = [] /** * 滚动控制器 */ scroller: Scroller = new Scroller() aboutToAppear() { // 填充数据 for (let i = 0; i < 50; i++) { this.names.push(`数据${i}`) } } build() { List({ scroller: this.scroller }) { } .width('100%') .height('100%') }}
最后,渲染数据,并给 ListItem 添加点击事件,在点击事件里调用 scrollToIndex 滚动到指定位置。
@Entry@Componentstruct Index { /** * 数据源 */ names: string[] = [] /** * 滚动控制器 */ scroller: Scroller = new Scroller() aboutToAppear() { // 填充数据 for (let i = 0; i < 50; i++) { this.names.push(`数据${i}`) } } build() { List({ scroller: this.scroller }) { ForEach(this.names, (item: string, index: number) => { ListItem() { Row() { Text(item) .fontSize(30) } .width('100%') .height(100) .backgroundColor(index % 2 === 0 ? Color.Gray : Color.White) } .onClick(() => { this.scroller.scrollToIndex(30) }) }, (item: string) => item) } .width('100%') .height('100%') }}
运行结果:
从运行结果来看,当点击 ListItem 时,列表滚动到 Index 为 30 的位置。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #滚动条滚动到指定位置