解决el-tree回显时因为父节点id存在导致所有子节点被选中,(目的:呈现出部分子节点选中,父节点半选状态)
<el-tree
:data="permissions"
:props="props"
:default-checked-keys="empower.defaultKeys"
node-key="id"
show-checkbox
highlight-current
default-expand-all
ref="treeRef"
>
</el-tree>
props: {
children: "childList",
label: "name",
},
获取需要回显的id值合集
如,就是all的合集
var that = this;
let data = await getRolePres(that.empower.id);
let all = this.readNodes(data.data);
that.$nextTick(() => {
all.forEach((i, n) => {
var node = that.$refs.treeRef.getNode(i);
if (node.isLeaf) {
that.$refs.treeRef.setChecked(node, true);
}
});
});
实现如图