可能会出现两种情况:

1、替换其中某个数据
2、替换掉整个数组 || 对象

第一种:

Vue官方文档给我们提供了两种方法:Vue.set()和this. s e t ( ) 区 别 : V u e . s e t 可 以 设 置 实 例 创 建 之 后 添 加 的 属 性 , 而 t h i s . set() 区别:Vue.set 可以设置实例创建之后添加的属性,而this. set()Vue.setthis.set只能设置实例创建后存在的属性
最常见错误:
1、通过数组索引修改数组元素
2、修改数组长度时
3、Vue 不能检测对象属性的添加或删除:你可以这样添加一个属性
数组原型上的方法vue可直接检测到变化的方法有:push(),pop(),shift(),unshift(),splice(),sort(),reverse()
在这里插入图片描述

第二种:

在这里插入图片描述

第三种:

在这里插入图片描述

如果还不行,也可以使用:
但你的数据缺实修改了,可以使用this.$forceUpdate()方法 (强制刷新)

以上这些可以解决大部分问题,不明白的可以留言联系哦

第四种:

你就要考虑利用 vue 提供的 provide 和 inject 自定义刷新了
我觉得,在我切换部门时候应该刷新整个页面的,毕竟之前的操作是之前的了
this.reload()

备注:

有人遇到上面都不行,数据组成是[{a:1},{b:2}]这种数据组成的折叠tree
因为数据不多:他解决的方法用了第一种:push(),pop(),shift(),unshift(),splice(),sort(),reverse()这些的变异方法

Logo

前往低代码交流专区

更多推荐