HarmonyOS ObjectLink 修改类属性后build未被执行
ObjectLink 修改类的嵌套属性后build未被执行
修改ObjectLink 嵌套类的属性build不执行,想要一个可以定位原因排查问题的技术方案
Column(){
if(this.insuranceModel.hasScrollModule){
List() {
ForEach(this.insuranceModel.insureObjList, (item: InsureObj, index: number) => {
ListItem(){
if(item.scroll) {
this.renderInsureItem(item, index)
}
}
})
}
@Builder renderInsureItem(item: InsureObj, index: number){
Column() {
Image(item.productIcon)
.width(36)
.height(36)
.margin({ top: 6 })
Row(){
Text(item.showTitle)
.fontColor('#333333')
.fontSize(14)
.fontWeight(500)
if(!item.emptyInsCard){
Text(FIconFont.otaInfo)
.fontFamily(FIconFont.iconFontFamily)
.fontColor('#333333')
.fontSize(16)
.margin({left: 2})
}
}
.margin({ top: 2 })
Column(){
this.priceView(item)
}
DashLine({widthValue: 98})
.margin({bottom:6})
Column() {
this.descListView(item)
}
Text(item.isSelected ? FIconFont.checked : FIconFont.unCheck)
.fontColor(item.isSelected ? this.checkedColor : this.unCheckColor)
.fontFamily(FIconFont.iconFontFamily)
.fontSize(20)
.lineHeight(24)
.margin({top: item.emptyInsCard ? 14 : 10})
.onClick(() => {
item.isSelected = !item.isSelected;
})
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS ObjectLink 修饰的元素修改其属性,ui没有生效
615浏览 • 1回复 待解决
修改module名字后,module未被IDE识别
1463浏览 • 1回复 待解决
HarmonyOS在异步线程往主线程抛任务无法被执行
1148浏览 • 1回复 待解决
HarmonyOS @Observed修饰的类属性变化没有引起子组件刷新
1106浏览 • 1回复 待解决
emmiter事件如果想立即被执行,应如何操作?
1133浏览 • 1回复 待解决
HarmonyOS ObjectLink 的属性怎么传递给子组件
837浏览 • 1回复 待解决
组件状态修改与build渲染机制
1885浏览 • 1回复 待解决
HarmonyOS new CustomDialogController初始化后,再修改属性应该怎么实现
697浏览 • 1回复 待解决
HarmonyOS【PixelMap】crop后,显示到Image控件中仍然未被截取
677浏览 • 1回复 待解决
鸿蒙中JS页面组件属性值修改后,页面没有刷新
4584浏览 • 0回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调
914浏览 • 1回复 待解决
#鸿蒙学习大百科#未被@Trace装饰的属性会怎样?
973浏览 • 0回复 待解决
HarmonyOS 关于@Observed @ObjectLink监测嵌套属性不成功的问题
713浏览 • 1回复 待解决
HarmonyOS 是否支持对象属性进行修改
657浏览 • 1回复 待解决
HarmonyOS endable对象属性napi无法修改
715浏览 • 1回复 待解决
HarmonyOS使用ObjectLink Observed 无法监听到嵌套类的属性更新
1015浏览 • 1回复 待解决
#鸿蒙通关秘籍#不允许将属性分配给“@ObjectLink”修饰的属性
793浏览 • 0回复 待解决
@Watch对应的执行方法,和build的执行顺序是怎样的
2843浏览 • 1回复 待解决
#鸿蒙学习大百科#在ArkTS中,为类属性添加访问修饰符有什么作用?
851浏览 • 1回复 待解决
HarmonyOS 交叉编译报错,执行./build.sh GMLibDecoder指令报错
874浏览 • 1回复 待解决
HarmonyOS 数组子属性修改怎么更新显示
686浏览 • 1回复 待解决
HarmonyOS ObjectLink修饰符对象的属性改变不能引起UI刷新
1192浏览 • 1回复 待解决
HarmonyOS CustomDialogController动态修改offset属性问题
628浏览 • 1回复 待解决
HarmonyOS taskpool执行task后后续代码没有执行
939浏览 • 0回复 待解决
HarmonyOS 升级API12后,使用ObjectLink遇到编译警告
883浏览 • 1回复 待解决
在自定义构建函数中,不允许改变参数值,同时按照值传递时,状态变量的改变不会引起@builder方法内的UI刷新,文档中有说明:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builder-V5
基于你需要的场景,调整你的代码如下:
objectLink使用方式及场景文档请参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5
1、调试工具:当前IDE是支持相关功能调试的,但是由于当前harmonyOS SDK暂不开源,所以调试时系统部分为黑盒。
2、该UI刷新问题本身:
(1)在自定义构建函数中,不允许改变参数值,同时按照值传递时,状态变量的改变不会引起@builder方法内的UI刷新。
(2)Objectlink修饰的对象赋值会导致双向绑定关系失效,导致UI无法刷新。