lazyforeach替换数据源解决方案

lazyforeach替换数据源解决方案

HarmonyOS
2024-06-11 23:18:15
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
OwenOO

核心代码解释:

Button('更换数据源').onClick(() => { 
  // 注释的方式是之前的替换数据源方式,会存在上述的问题,ui不会刷新 
  // this.materialsDataSource.filterDataItems = this.materialsDataSource2.filterDataItems 
  // 使用如下方式替代,不直接替换整个数据源,而是替换item中的属性,然后用@ObjectLink和@Observed来监听item 
  for(let i = 0; i<this.materialsDataSource.filterDataItems.length;i++){ 
    this.materialsDataSource.filterDataItems[i].material = this.materialsDataSource2.filterDataItems[i].material 
    this.materialsDataSource.filterDataItems[i].download_progress = this.materialsDataSource2.filterDataItems[i].download_progress 
    this.materialsDataSource.filterDataItems[i].download_state = this.materialsDataSource2.filterDataItems[i].download_state 
  } 
  this.materialsDataSource.notifyDataReload() 
})

效果参考:

分享
微博
QQ
微信
回复
2024-06-12 23:34:41
相关问题
抓包应用,求解决方案
637浏览 • 1回复 待解决
图片存储解决方案谁知道啊?
1274浏览 • 1回复 待解决
webview中跨域问题解决方案
582浏览 • 1回复 待解决
List滚动条时长时短,求解决方案
584浏览 • 1回复 待解决
Harmony API9之后 GIS 解决方案有哪些?
1026浏览 • 1回复 待解决
LazyForEach如何添加数据
745浏览 • 1回复 待解决