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
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

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

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS ForEach列表刷新问题
90浏览 • 1回复 待解决
HarmonyOS Grid容器视图新问题
552浏览 • 1回复 待解决
HarmonyOS 数据刷新问题
106浏览 • 1回复 待解决
HarmonyOS 列表刷新问题
667浏览 • 1回复 待解决
HarmonyOS 页面刷新问题
341浏览 • 1回复 待解决
HarmonyOS 组件刷新问题
90浏览 • 1回复 待解决
HarmonyOS webview刷新问题
63浏览 • 2回复 待解决
HarmonyOS 组件下拉刷新问题
518浏览 • 1回复 待解决
NativeWindowFlushBuffer接口刷新问题
2021浏览 • 1回复 待解决
HarmonyOS @Builder UI刷新问题
36浏览 • 1回复 待解决
HarmonyOS UI 未刷新问题
580浏览 • 0回复 待解决
HarmonyOS 页面跳转刷新问题
954浏览 • 1回复 待解决
HarmonyOS UI不刷新问题
35浏览 • 1回复 待解决
HarmonyOS swiper数据刷新问题
48浏览 • 1回复 待解决
HarmonyOS List item 刷新问题
822浏览 • 1回复 待解决
HarmonyOS 页面数据刷新问题
47浏览 • 1回复 待解决
HarmonyOS 装饰器不刷新问题
239浏览 • 1回复 待解决
HarmonyOS使用Refresh下拉刷新问题
945浏览 • 1回复 待解决
HarmonyOS 二维数组刷新问题
342浏览 • 1回复 待解决
HarmonyOS 自定义弹窗刷新问题
77浏览 • 1回复 待解决
HarmonyOS ForEach局部刷新
551浏览 • 1回复 待解决
HarmonyOS 状态变量不刷新问题
523浏览 • 1回复 待解决