【列表数据更新后页面不刷新】

从网络请求获取新数据,更新了​​@State​​数组,但页面列表还是显示旧数据。

@State list: string[] = ['苹果', '香蕉']
// 模拟请求新数据
fetchNewData() {
  this.list = ['西瓜', '葡萄'] // 数据变了,但页面没变!
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

疑惑点:明明用了​​@State​​装饰器,为什么页面不自动刷新?需要手动调用什么方法吗?


鸿蒙
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
网罗开发

我猜测可能的原因,数据发生了变化,但是数据的地址没变,还是原来的。可以试试下面的方法:

赋值新的数组引用。

导致原因:ArkUI 需要检测到 ​​@State​​​ 变量的引用发生变化,而不是仅仅修改数组的内容。
解决方法:使用 新数组对象 赋值,而不是修改原数组。

fetchNewData() {
  this.list = [...['西瓜', '葡萄']]; // 重新赋值新数组,确保引用变化
}
  • 1.
  • 2.
  • 3.
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 更新数据UI刷新
776浏览 • 1回复 待解决
如何更新页面列表数据
7688浏览 • 1回复 待解决
HarmonyOS 卡片更新图片刷新
681浏览 • 1回复 待解决
HarmonyOS 页面更新
413浏览 • 1回复 待解决
IF条件变化UI刷新
1231浏览 • 1回复 待解决
HarmonyOS 列表多选页面无法刷新
516浏览 • 1回复 待解决
HarmonyOS使用@ObjectLink 数据刷新
1268浏览 • 2回复 待解决
HarmonyOS 懒加载列表更改属性UI刷新
561浏览 • 1回复 待解决
鸿蒙开发api版本更新兼容?
124浏览 • 1回复 待解决
HarmonyOS 深色模式切换界面刷新
796浏览 • 1回复 待解决
HarmonyOS UI未在数据更新刷新
576浏览 • 1回复 待解决
HarmonyOS 下拉刷新的时候没有更新数据
1132浏览 • 1回复 待解决