使用@ObservedV2装饰器的class,给子组件@Prop装饰的数组传值时,数组变动了,但数组元素的值未拷贝过去
API12,使用@ObservedV2装饰的class, @Trace装饰的字段数组, 传给子组件@Prop装饰的数组变量,在接口拿到数据时,更新class对应的字段数组, 子组件@Prop装饰的数组里元素的值变成undefined。
场景描述:
@ObservedV2
export class UiState {
@Trace multiState: MultiState = MultiState.Content;
@Trace tabStringArray: string[] = [];
@Trace tabBarSelectedIndex: number = 0;
}
子组件定义:
@Component
export default struct HXTitleTabBar {
@Prop titles: string[] = [];
// title样式
...
}
页面:
export struct ChannelListContainerPage {
....
tabsController: TabsController = new TabsController();
private vm: ChannelListContainerViewModel = new ChannelListContainerViewModel();
aboutToAppear(): void {
this.vm.fetchChannelTabList();
}
build() {
Column() {
HXTitleTabBar({
titles: this.vm.uiState.tabStringArray,
onSelectedAtIndex: (index: number) => {
this.vm.setTabBarSelectedIndex(index);
this.tabsController.changeIndex(index);
}
})
....
}
在接口拿到数据后,更新vm的tabStringArray, 更新UI时, 给子组件HXTitleTabBar传值时,@Prop修饰的数组变化了, 但元素值变成了undefined。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
postgresql json 字段值为数组,怎么查询数组包含指定元素的数据?
17312浏览 • 1回复 待解决
postgresql json 字段值为数组形式,怎么查询数组包含指定元素的数据?
6713浏览 • 1回复 待解决
readonly修饰的数组无法获取数组元素
3392浏览 • 1回复 待解决
HarmonyOS使用@ObservedV2装饰viewmodel类,在父子组件传递的时候不方便
1362浏览 • 1回复 待解决
HarmonyOS JSVM缺少获取数组元素设置数组元素的接口
743浏览 • 1回复 待解决
HarmonyOS debug的时候,发现数组中有值的元素显示的是undefined
879浏览 • 1回复 待解决
如何删除数组中的空值?
1255浏览 • 1回复 待解决
HarmonyOS ObservedV2装饰器对接口返回的model进行状态监听无效
1118浏览 • 1回复 待解决
HarmonyOS @ObservedV2装饰器和@Track装饰器配合List组件,点击ListItem添加选中效果怎么做?
1097浏览 • 1回复 待解决
HarmonyOS @ObservedV2修饰类中@Trace装饰的属性赋值问题
1193浏览 • 1回复 待解决
HarmonyOS 嵌套数组使用observed修饰后,修改数组值不更新
1320浏览 • 1回复 待解决
#鸿蒙学习大百科#@ObservedV2和@Trace装饰器需要如何配合使用?
1287浏览 • 1回复 待解决
JS 卡片 ,JAVA 怎么给 这边传数组?
7249浏览 • 1回复 待解决
HarmonyOS 父子组件之间的传参传递数组
1466浏览 • 1回复 待解决
HarmonyOS C++调TS函数的时候怎么传byte数组参数过去
827浏览 • 1回复 待解决
HarmonyOS 如何监听数组元素属性的变化?
1939浏览 • 1回复 待解决
HarmonyOS @State修饰的数组内部的值变化了,怎么刷新UI?
1852浏览 • 1回复 待解决
HarmonyOS 使用@ObservedV2的类,无法从父组件通过构造函数传递给子组件
1087浏览 • 1回复 待解决
HarmonyOS 如何把一个使用@ObservedV2修饰的类传给子组件
985浏览 • 1回复 待解决
#鸿蒙学习大百科#@ObservedV2和@Trace装饰器从哪个API版本开始支持?
1243浏览 • 1回复 待解决
HarmonyOS @ObjectLink装饰器监听嵌套数组时报错,如何处理解决。
1007浏览 • 1回复 待解决
@State装饰嵌套结构的变量时,为什么嵌套结构中数组元素增加或减少时界面不会刷新
3377浏览 • 1回复 待解决
HarmonyOS @Observed装饰的类,构造了对象数组,那这个数组中对象的属性变化之后,能引起视图的更新吗
2091浏览 • 1回复 待解决
HarmonyOS 装饰器问题class
1029浏览 • 1回复 待解决
@State修饰的对象通过传参给子组件,子组件不刷新,获取的值为空
2990浏览 • 1回复 待解决
@ObservedV2不能跟@prop装饰器一起使用,把@prop去掉可以接收到。去掉@prop,子组件无法更新UI的情况,需要把整个类传过去,不然监听不到变化。 如下demo更改: