Vue框架下如何解决父组件修改数组传给子组件无法渲染问题

Vue框架下如何解决父组件修改数组传给子组件无法渲染问题
在公司遇到个需求,随着element tabs标签切换,form表单label值需要改变,
我想着这不是很简单吗,随手开发出form表单,一个tabs子组件,好戏来了,
我在父组件进行数据传递,当切换,我把数据进行修改传过去,问题来了,界面不渲染,一个个排查,打印一下控制台,嗯,数据变化了,怎么界面不渲染呢,我试着用this. f o r c e u p d a t e 强 制 渲 染 , 然 而 还 是 没 软 用 , 再 来 , 我 在 子 组 件 进 行 监 听 , 没 用 , 深 度 监 听 , 没 用 , 不 带 变 化 的 , 后 面 想 着 是 不 是 插 入 数 据 有 问 题 , 思 路 来 了 解 决 办 法 也 就 有 了 , 贴 代 码 ! 原 来 的 t h i s . f o r m I t e m s [ 4 ] = 里 面 是 我 修 改 的 j s o n 对 象 后 面 我 这 样 赋 值 t h i s . forceupdate强制渲染,然而还是没软用,再来,我在子组件进行监听,没用,深度监听,没用,不带变化的,后面想着是不是插入数据有问题,思路来了解决办法也就有了,贴代码! 原来的 this.formItems[4] = {里面是我修改的json对象} 后面我这样赋值 this. forceupdatethis.formItems[4]=jsonthis.set(this.formItems, 4, { 里面是我修改的json对象 })
这样监听到了,界面也渲染了,大致问题了解了一下,还是由于 JavaScript 的限制,Vue 不能检测数组对象属性的添加或删除,至于是不是js的限制,还是vue其中的问题我就没去深究啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值