嵌套组件,顶层数据元素更新后UI无法刷新。
有一个页面在顶层组件生命了一个可观察状态的对象数组对象@Provide workApps: GroupMenu[] = [],然后使用了List组件显示workApps,ListItem是封装的一个组件Applications。
Applications内部使用GridRow来展示Apps,更改workApps的某一个对象的属性值,想让GridRow对应的Item刷新,但是现在不能刷新。发现是因为workApps没有发生改变引起的。解决办法是把workApps清除后,重新添加修改后的数据。但是认为不是正确的解决办法,应该使用@Observed与@ObjectLink来解决。请问正确的写法应该是什么样的?
应该在GroupMenu上面使用@Observed,然后在workApps使用ObjectLink,但是目前使用了@Provide需要进行初始化,会有矛盾冲突,这边推荐两个方案:
第一个方案把@Provide取消掉,使用@Observed和@ObjectLink。
第二个方案使用@ObservedV2和@Trace,依旧放在GroupMenu和workApps上面。