当前位置: 首页 > news >正文

解决鸿蒙开发修改实体类某个字段,页面不刷新的问题

比如,我们要实现一个点击列表上的某个item,实现点击选中,要改变这个item的背景色,这时候会遇到自己已经明明修改了代表选中的字段的值,但是样式没有刷新,解决方法如下:

修改前:

export class DzkyLineDateModelLocal{date:string=""week:string=""isSelect: boolean = false;monthDay: string = "";constructor(date: string, week: string, isSelect: boolean, monthDay: string) {this.date = date;this.week = week;this.isSelect = isSelect;this.monthDay = monthDay;}
}

修改后:

@ObservedV2
export class DzkyLineDateModelLocal{date:string=""week:string=""@Trace isSelect: boolean = false;monthDay: string = "";constructor(date: string, week: string, isSelect: boolean, monthDay: string) {this.date = date;this.week = week;this.isSelect = isSelect;this.monthDay = monthDay;}
}

注意,给实体类加 @ObservedV2 修饰符,给修改的字段加@Trace修饰符

一般到这里问题就会解决,但是如果你的实体类是通过服务端返回字符串JSON解析而来的实体类,那么这个时候@ObservedV2 @Trace修饰符就会无效。我只能用一个很不优雅的方法去解决它:

解决方法是:通过服务端解析JSON字符串拿到的实体类为modelA,这时候再复制一个字段一模一样的modelB(记得要加@ObservedV2和@Trace修饰符!),把modelA的值一个个的手动赋值给modelB,然后modelB的修饰符:@ObservedV2 @Trace 就会生效。列表的数据源采用modelB,页面就会刷新

http://www.xdnf.cn/news/996139.html

相关文章:

  • Android自动化AirScript
  • Rust 学习笔记:关于通过异步实现并发的练习题
  • nginx配置gzip压缩
  • 《深入理解Apache Dubbo 与实战》笔记
  • SpreadJS 中 HTML Canvas 的性能优势深度解析
  • Flask 中结合 Jinja2 模板引擎返回渲染后的 HTML
  • 关于 /proc/net/tcp 与 /proc/$pid/net/tcp 的关系分析
  • python中的循环结构
  • 多参表达式Hive UDF
  • 如何确定某个路由器的路由表?(计算机网络)
  • Flink读取Kafka写入Paimon
  • C++11中char16_t和char32_t的入门到精通
  • 黑马点评面试话术
  • uniapp 时钟
  • 电动汽车驱动模式扭矩控制设计方法
  • 三、DevEco Studio安装和HelloWorld应用
  • Kubernetes 集群安全(身份认证机制、SecurityContext、Network Policy网络策略、预防配置泄露、全面加固集群安全)
  • Springboot仿抖音app开发之消息业务模块后端复盘及相关业务知识总结
  • C++核心编程(动态类型转换,STL,Lanmda)
  • 【EdgeAI实战】(3)边缘AI开发套件 STM32N6570X0 用户手册
  • 【递归、搜索与回溯算法】概括
  • Vue + Vite 项目部署 Docker 全攻略:原理、路由机制、问题排查与开发代理解析
  • 使用 PyTorch 和 SwanLab 实时可视化模型训练
  • Python使用总结之Linux部署python3环境
  • 【测试开发】数据类型篇-列表推导式和字典推导式
  • Vue3+TypeScript实现责任链模式
  • XML 注入与修复
  • 接口测试不再难:智能体自动生成 Postman 集合
  • Apache 反向代理Unity服务器
  • Golang启用.exe文件无法正常运行