当后台返回的el-tree相关数组的时候,子菜单未全部选中,但是只要父级菜单的id在数组中,那么他的子菜单为全部选中状态
用的方法
this.$axios.get('menu/queryMenuIdList?roleId=' + row.roleId).then(res => {
this.defalutArr = res.data
this.$refs.tree.setCheckedKeys(this.defalutArr);
})
看了文档说setCheckedKey()方法返回的数组中只要是包含的id就会被置为选中状态,而不是半选中状态,求救啊
不要使用 setCheckedKeys 来回显数据,从后端拿到 id 数组之后,使用 setChecked 来循环设置选中状态。
另外需要注意一点,如果使用 setChecked 发现没有效果,那就给它加个 setTimeout ,或者拿到数据后,再接个 then 去处理。