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列表刷新问题
1333浏览 • 1回复 待解决
HarmonyOS Grid容器视图新问题
1830浏览 • 1回复 待解决
HarmonyOS webview刷新问题
1196浏览 • 1回复 待解决
HarmonyOS 页面刷新问题
1479浏览 • 1回复 待解决
HarmonyOS 列表刷新问题
1675浏览 • 1回复 待解决
HarmonyOS 组件刷新问题
1120浏览 • 1回复 待解决
HarmonyOS 组件下拉刷新问题
1508浏览 • 1回复 待解决
HarmonyOS 数据刷新问题
1087浏览 • 1回复 待解决
HarmonyOS List item 刷新问题
1837浏览 • 1回复 待解决
HarmonyOS LazyForEach数据刷新问题
995浏览 • 1回复 待解决
HarmonyOS 页面数据刷新问题
1751浏览 • 1回复 待解决
HarmonyOS UI不刷新问题
1179浏览 • 1回复 待解决
HarmonyOS @Builder UI刷新问题
1072浏览 • 1回复 待解决
HarmonyOS 页面跳转刷新问题
2743浏览 • 1回复 待解决
HarmonyOS swiper数据刷新问题
999浏览 • 1回复 待解决
HarmonyOS UI 未刷新问题
1803浏览 • 1回复 待解决
NativeWindowFlushBuffer接口刷新问题
2800浏览 • 1回复 待解决
HarmonyOS使用Refresh下拉刷新问题
1952浏览 • 1回复 待解决
HarmonyOS 装饰器不刷新问题
1208浏览 • 1回复 待解决
HarmonyOS 自定义弹窗刷新问题
1011浏览 • 1回复 待解决
HarmonyOS 二维数组刷新问题
1389浏览 • 1回复 待解决
HarmonyOS ForEach局部刷新
1822浏览 • 1回复 待解决