2023-07-12 vue this.$set设置子组件内的值无效(uniapp+vue)
前言:怎么说呢,子组件内嵌套了多层对象和数组,业务逻辑也是在子组件内处理,如何修改多层嵌套的对象数组的值?
vue提供了一个this.$set方法去改变对应的值,实测在uniapp打包的微信小程序中无法使用该方法,而在Android端则可以,那有没有两全其美的方法?
答案是有,在修改深层次的值时可以通过先保存原值(this.dataSource)给一个变量(arr),然后清除原值(this.dataSource = [];),接着用这个arr去操作数据,最后再把arr赋值给this.dataSource,即:
let arr = []; arr = this.dataSource; this.dataSource = []; // 此处进行业务操作
// ....
this.dataSource = arr;
如果直接去用this.dataSource进行业务操作,那么结果和this.$set是一样的,视图并不会更新。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2022-07-12 2022-07-12 环信 uniapp版 ios端打不开 安卓端可以打开
2022-07-12 2022-07-12 银行卡校验(转载)