用了element树表组件,在显示数据与自己所想不一样,
这是我请求后台json返回的数据
这点击展示的数据表,但是并没有按我写的逻辑展示那些被默认勾选的选项,
用户模块应该全部默认勾选中的,因为flag为true,而且当flag为true就是勾选的,为false时就不勾选,但是用了
setCheckedNodes(row) {
this.roleId = row.id;
RoleList({
roleId: this.roleId
})
.then(res => {
this.dialogFormVisible = true;
if (res.code == 0) {
this.$refs.tree.setCheckedNodes([{flag:true}]);
this.roleStree = res.data;
}
})
.catch(err => {});
},
逻辑
<el-tree
:data="roleStree"
show-checkbox
node-key="id"
highlight-current
default-expand-all
ref="tree"
:props="defaultProps"
></el-tree>
这里引用官方的例子
怎么没有生效呢?这里用的官方提供的方法,没有显示我要的效果
写了个简单的可以参考下,利用的
setCheckedKeys
预览:https://jsfiddle.net/szjarph9/
核心方法递归获取到flag为true的子集,然后通过
setCheckedKeys
设置选中