HarmonyOS LazyForEach

在使用 LazyForEach 的时候, API固定必须使用一个 实现 IDataSource 的类来对数据源进行管理.这时候有一个地方需要依赖 数据源的数量来进行重新绘制.

if (dataSource.totalCount() > 0) {Text(${dataSource.totalCount()})}这时候就不会受到数据源变化而重新绘制.

HarmonyOS
2024-08-08 18:01:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

这里可以用@Watch装饰器监听状态变量,以及@State装饰器绑定组件渲染,可以参考如下代码

@State @Watch('onDataChange') dataSource: WaterFlowDataSource = new WaterFlowDataSource() 
@State totalCount: number = this.dataSource.totalCount() 
onDataChange(){ 
  this.totalCount = this.dataSource.totalCount() 
} 
 
build() { 
  if(this.totalCount > 0){ 
    Text(`${this.totalCount}`) 
  } 
}

注意,这里需要在组件中使用更多关于@Watch装饰器,可以参考文档,https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-watch-0000001774119954

分享
微博
QQ
微信
回复
2024-08-08 20:53:38
相关问题
LazyForEach如何添加数据?
1744浏览 • 1回复 待解决
ListItemGroup 和lazyforeach如何结合使用
366浏览 • 1回复 待解决
LazyForEach的使用限制有哪些?
173浏览 • 1回复 待解决
ListItemGroup 和Lazyforeach结合场景
585浏览 • 1回复 待解决
首页LazyForEach predict耗时久分析
537浏览 • 1回复 待解决
使用LazyForEach懒加载列表相关问题
562浏览 • 1回复 待解决
lazyforeach替换数据源解决方案
375浏览 • 1回复 待解决
使用List lazyForeach时,reuseId未生效
120浏览 • 1回复 待解决
LazyForEach懒加载的原理是什么
1823浏览 • 1回复 待解决
ListItemGroup能跟LazyForEach搭配使用吗
594浏览 • 1回复 待解决