1、element版本:2.13.2
2、遇到的问题:
给不同的角色分配菜单权限时使用了element中的树形控件tree,但是默认勾选的数据发生变化,视图并没有改变,以为是用的vue2所以检测不到数组的变化,但不管用哪个数组的方法触发检测到的变化,页面视图都没有发生改变。
3、解决思路:
全哥给我分享了截图“她说”,看了博主的文章恍然大悟(使用el-tree问题之清空勾数据不生效_element tree 异步获取数据,无法清空-CSDN博客),竟是组件本身缓存问题,原来只需要调用一下树形控件本身的清空方法才可以把缓存一块儿清掉,直接让默认勾选数组=[],缓存之前的数据并没有被清除。
4、解决方法:
在打开树形控件所在的弹出层的时候调用清空方法就可以了,还可以在你需要的地方调用。
// tree自身的清空方法 注意:tree是你的tree树形控件的ref名
SetCheckedKeys() {
this.$refs.tree.setCheckedKeys([]);
},
5、html代码: