HarmonyOS ForEach中多层模型嵌套,更改数据不刷新问题
点击收藏取消收藏不刷新,ForumsModel是一个多层嵌套模型。
尝试以下方法都无用:
方法一:对数据源进行删除再添加操作,不起作用。
方法二:对数据源加入唯一索引字段,不起作用。
方法三:抽离listItem内容,单独组件。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
列表里LazyForEach中多层模型嵌套,更改数据UI不刷新
485浏览 • 0回复 待解决
关于使用foreach&lazyforeach更改数据源界面不刷新的问题
1510浏览 • 2回复 待解决
HarmonyOS LazyForEach修改数据源不刷新问题
1083浏览 • 1回复 待解决
HarmonyOS ForEach列表刷新问题
451浏览 • 1回复 待解决
如何解决使用foreach&lazyforeach循环渲染时,会出现更改数据源时,界面不刷新的问题
1264浏览 • 1回复 待解决
HarmonyOS 关于objectLink在数组对象中使用时,修改数据页面不刷新问题
1109浏览 • 1回复 待解决
HarmonyOS ForEach创建的视图刷新问题
309浏览 • 1回复 待解决
使用foreach&lazyforeach循环渲染时,会出现更改数据源时,界面不刷新的情况。如何解决
2719浏览 • 1回复 待解决
HarmonyOS UI不刷新问题
432浏览 • 1回复 待解决
HarmonyOS ForEach循环渲染组件视图刷新问题
446浏览 • 1回复 待解决
HarmonyOS 数据刷新问题
321浏览 • 1回复 待解决
HarmonyOS 关于数组中class更改,List不触发更新问题
550浏览 • 1回复 待解决
HarmonyOS 装饰器不刷新问题
500浏览 • 1回复 待解决
HarmonyOS 有一个页面,有多层@Component组件,现在修改数据后页面不刷新
487浏览 • 1回复 待解决
HarmonyOS LazyForEach数据刷新问题
285浏览 • 1回复 待解决
HarmonyOS 页面数据刷新问题
281浏览 • 1回复 待解决
HarmonyOS swiper数据刷新问题
272浏览 • 1回复 待解决
HarmonyOS 状态变量不刷新问题
966浏览 • 1回复 待解决
修改ForEach使用的数据对象,UI不刷新
2263浏览 • 1回复 待解决
HarmonyOS ForEach数据源属性修改,页面不刷新
333浏览 • 1回复 待解决
HarmonyOS 使用@Observed和@ObjectLink修饰的自定义数据模型viewModel刷新问题
973浏览 • 1回复 待解决
HarmonyOS @prop修饰的子组件属性不刷新问题
793浏览 • 1回复 待解决
HarmonyOS webview刷新问题
380浏览 • 2回复 待解决
HarmonyOS 页面刷新问题
690浏览 • 1回复 待解决
HarmonyOS 列表刷新问题
929浏览 • 1回复 待解决
在上一版本demo中并未提供test定义,此次在在上一版本的基础上额外扩展一层,可以直接放入项目中测试,可以发现此版本中图像是可以响应变化的,与是否在ForEach中无关。但是如果按照写法将image组件修改为
就可以发现,UI不会变化,根据log可知实际数值是变化了的,因此可知核心问题是Image组件不会响应item.value>3这一句判断。
至于ForEach的问题,参考开放文档可知@State装饰器不会响应深层次数组项子属性变化。而使用@ObjectLink装饰器则不可在定义时为对象赋值,可以尝试一下,在提供的demo中运行应该会出JsCrash的错误。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-rendering-control-foreach-V5#%E6%95%B0%E6%8D%AE%E6%BA%90%E6%95%B0%E7%BB%84%E9%A1%B9%E5%8F%91%E7%94%9F%E5%8F%98%E5%8C%96
建议修改方式:在SubforumModel中添加一个类型为Resource字段,单独指向r('app.media.forumCollected')或者r('app.media.forumCollect'),之后在foreach中的Image组件直接调用该Resource类型属性即可。