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() 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

效果参考:

分享
微博
QQ
微信
回复
2024-06-12 23:34:41


相关问题
HarmonyOS代码封装解决方案
1314浏览 • 1回复 待解决
高级图表实现解决方案
1314浏览 • 1回复 待解决
确认网络状况解决方案
1360浏览 • 1回复 待解决
HarmonyOS 通知推送解决方案
792浏览 • 1回复 待解决
HarmonyOS 音频播放组件解决方案
640浏览 • 1回复 待解决
HarmonyOS事件通信能力解决方案
1594浏览 • 1回复 待解决
抓包应用,求解决方案
2554浏览 • 1回复 待解决
HarmonyOS picker选择器的数据源问题
490浏览 • 1回复 待解决
HarmonyOS C++模块引用解决方案
1094浏览 • 1回复 待解决
HarmonyOS 部分文本高亮解决方案
916浏览 • 1回复 待解决
HarmonyOS有访问相册有解决方案
918浏览 • 1回复 待解决
HarmonyOS 滚动事件相关的解决方案
451浏览 • 1回复 待解决