HarmonyOS 一次性完成对象所有属性的赋值替换
在ObservedV2装饰的一个类中,所有属性都被@Trace装饰,如何一次性完成将新对象的所有属性的值替换到已有对象上?由于直接替换对象导致观察会失效,视图无法刷新,所以只能给每一个属性单独赋值很麻烦。
例如实体类Bean结构如下:
@ObservedV2
class Bean {
@Trace paramA: string = ''
@Trace paramB: string = ''
@Trace paramC: string = ''
...
@Trace paramZ: string = ''
}
在ui中有:
struct Component {
viewmodel :ViewModel = new ViewModel()
build() {
Column() {
Text(this.viewmodel.bean.paramA)
Text(this.viewmodel.bean.paramB)
Text(this.viewmodel.bean.paramC)
...
Text(this.viewmodel.bean.paramZ)
}
}
}
在viewmodel中有:
class ViewModel {
bean: Bean = new Bean()
async call() {
//调用服务器接口await返回一个新的Bean对象
let result: Bean = await
...
//ui不会刷新
//this.bean = result
//这样可以 但面对整个项目来说可能有相当多处类似情况,过于不合理
this.bean.paramA = result.paramA
this.bean.paramB = result.paramB
this.bean.paramC = result.paramC
...
this.bean.paramZ = result.paramZ
}
}
有没有什么方法可以解决以上问题?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 如何给应用所有或者部分界面一次性加上水印?
642浏览 • 1回复 待解决
HarmonyOS 视窗liveview存在一次性创建多个情况吗?底层会限制视窗数量吗?
374浏览 • 1回复 待解决
请教有没有办法整个app的字体一次性全部换成自定义字体?
1087浏览 • 1回复 待解决
HarmonyOS 能否一次性获取应用已被授权的权限列表,而不是一个一个查
360浏览 • 1回复 待解决
HarmonyOS IDataSource支持数据源整体一次替换
1104浏览 • 1回复 待解决
参数做aes解密会失败,是哪里参数配置不对吗,分段解密和一次性解密都试了?
548浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在鸿蒙系统中的日历应用中减少一次性加载大量数据引起的卡顿问题?
435浏览 • 0回复 待解决
任务启动后会将数据库存量数据一次性导入,但是增量数据要过20分钟才会开始同步
2659浏览 • 1回复 待解决
HarmonyOS 每秒执行一次的函数
548浏览 • 2回复 待解决
HarmonyOS 如何获取一个class对象的所有属性名
447浏览 • 1回复 待解决
HarmonyOS setInterval如何立即执行一次
373浏览 • 1回复 待解决
HarmonyOS Radio的onChange方法只会触法一次
227浏览 • 1回复 待解决
HarmonyOS 如何只取消某一次的监听
363浏览 • 1回复 待解决
HarmonyOS flutter run 会自动uninstall 一次
382浏览 • 1回复 待解决
HarmonyOS里面不能一次创建多级目录
703浏览 • 1回复 待解决
HarmonyOS web组件拦截每一次跳转
302浏览 • 1回复 待解决
有没有一次编译,多端部署的资料
664浏览 • 1回复 待解决
HarmonyOS WebView.onPageEnd 只触发一次的问题
319浏览 • 1回复 待解决
HarmonyOS 用什么api替换所有的需要替换的内容
934浏览 • 1回复 待解决
HarmonyOS HasMap 如何转成对象
437浏览 • 1回复 待解决
HarmonyOS 定义对象赋值错误
386浏览 • 1回复 待解决
HarmonyOS 对象赋值一般使用什么方式
169浏览 • 1回复 待解决
动画如何做渲染一次不消失
8116浏览 • 1回复 待解决
HarmonyOS json转换成对象
417浏览 • 2回复 待解决
可用@State修饰一下定义的viewmodel,参考示例如下: