HarmonyOS ForEach创建的视图刷新问题

ForEach(this.wallDatas, (item: RBUserModel) => {
  RBVideoView({ userModel: item, volume:item.volumeValue, videoArea: RBWallType.wall, isSmallType: true})
    .position({
      x: (item.wallData?.pos_x ?? 0) * this.viewZoomScale,
      y: (item.wallData?.pos_y ?? 0) * this.viewZoomScale
    })
    .width((item.wallData?.pos_width ?? 0) * this.viewZoomScale)
    .height((item.wallData?.pos_height ?? 0) * this.viewZoomScale)
    .zIndex(item.wallData?.zorder)
}, (item: RBUserModel) => item.uid)

如上,我使用forEach循环创建了几个videView。通过监听wallDatas的变化来更新view。

我在方法尾部添加了 (item: RBUserModel) => item.uid)做到了数组中model不变化的话,view不去做重新创建的操作。

但是这个导致一个问题是,我的model虽然没有变化,但是model上的视图位置信息变化了,但是view却不会跟着变化位置。 这种情况要如何处理。

HarmonyOS
2024-12-24 18:06:26
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。需要使用@Observed/@ObjectLink装饰器。请确认修饰符使用是否正确。

分享
微博
QQ
微信
回复
2024-12-24 20:17:28
相关问题
HarmonyOS ForEach列表刷新问题
359浏览 • 1回复 待解决
HarmonyOS Grid容器视图新问题
695浏览 • 1回复 待解决
HarmonyOS 列表刷新问题
878浏览 • 1回复 待解决
HarmonyOS 页面刷新问题
576浏览 • 1回复 待解决
HarmonyOS webview刷新问题
267浏览 • 2回复 待解决
HarmonyOS 组件刷新问题
245浏览 • 1回复 待解决
HarmonyOS 数据刷新问题
225浏览 • 1回复 待解决
HarmonyOS 组件下拉刷新问题
733浏览 • 1回复 待解决
HarmonyOS List item 刷新问题
1041浏览 • 1回复 待解决
HarmonyOS 页面数据刷新问题
187浏览 • 1回复 待解决
HarmonyOS LazyForEach数据刷新问题
159浏览 • 1回复 待解决
NativeWindowFlushBuffer接口刷新问题
2121浏览 • 1回复 待解决
HarmonyOS 页面跳转刷新问题
1273浏览 • 1回复 待解决
HarmonyOS UI 未刷新问题
798浏览 • 0回复 待解决
HarmonyOS UI不刷新问题
286浏览 • 1回复 待解决
HarmonyOS @Builder UI刷新问题
221浏览 • 1回复 待解决
HarmonyOS swiper数据刷新问题
178浏览 • 1回复 待解决
HarmonyOS使用Refresh下拉刷新问题
1123浏览 • 1回复 待解决
HarmonyOS 装饰器不刷新问题
385浏览 • 1回复 待解决
HarmonyOS 二维数组刷新问题
588浏览 • 1回复 待解决
HarmonyOS 自定义弹窗刷新问题
224浏览 • 1回复 待解决