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
相关问题
确认网络状况解决方案
2096浏览 • 1回复 待解决
高级图表实现解决方案
1933浏览 • 1回复 待解决
HarmonyOS 通知推送解决方案
1696浏览 • 1回复 待解决
HarmonyOS代码封装解决方案
1950浏览 • 1回复 待解决
抓包应用,求解决方案
3216浏览 • 1回复 待解决
HarmonyOS事件通信能力解决方案
2381浏览 • 1回复 待解决
HarmonyOS 音频播放组件解决方案
1294浏览 • 1回复 待解决
HarmonyOS 滚动事件相关的解决方案
1150浏览 • 1回复 待解决
HarmonyOS有访问相册有解决方案
1494浏览 • 1回复 待解决
HarmonyOS picker选择器的数据源问题
1095浏览 • 1回复 待解决
HarmonyOS C++模块引用解决方案
1812浏览 • 1回复 待解决
HarmonyOS 部分文本高亮解决方案
2043浏览 • 1回复 待解决