代码拉取完成,页面将自动刷新
let c = 0;
class DS implements IDataSource {
private arr: any[] = [];
private dcl: DataChangeListener;
constructor() {
this.arr = Array(100).fill(0).map((v,i) => `${i}`);
//console.log('pikalov DS.constructor');
}
totalCount(): number {
//console.log('pikalov', 'totalCount');
return this.arr.length;
}
getData(index: number): any {
//console.log('pikalov', `getData(${index})`)
return this.arr[index];
}
registerDataChangeListener(listener: DataChangeListener): void {
//console.log('pikalov', 'registerDataChangeListener')
this.dcl = listener;
}
unregisterDataChangeListener(listener: DataChangeListener): void {
//console.log('pikalov', 'un-registerDataChangeListener')
}
}
@Entry
@Component
struct MyComponent {
@State ds:DS = new DS();
scroller: Scroller = new Scroller();
build() {
Column() {
Text('1_lazy.ets')
Row() {
Button('Scroll top').onClick(() => this.scroller.scrollToIndex( 0))
Button('Scroll mid').onClick(() => this.scroller.scrollToIndex(50))
}
List({ space: 3, scroller:this.scroller }) {
LazyForEach(this.ds, (item) => {
ListItem() {
Text(`item: ${item} ${c%2}`).fontSize(32 + 32 * (c%2) )//(128)
}
.onAppear(()=>{
//console.error("@Component LazyForEach > ListItem onAppear")
})
},
(item) => item
)//.cachedCount(5)
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。