Element-ui tree
问题 1
tree 组件选中部分子节点后无法获取半选中父节点的 key
//返回选中子节点的key
let child = this.$refs.editTree.getCheckedKeys();
//返回选中子节点的父节点的key
let parent = this.$refs.editTree.getHalfCheckedKeys();
let checkNode = child.concat(parent);
问题 2
后端返回数据中包含父节点,渲染的时候会选中该父节点下所有子节点,但实际该父节点下只有部分子节点应该被选中
let idList = [1, 3, 5, 6, 7, 8, 9];
idList.forEach((id) => {
this.$nextTick(() => {
var node = this.$refs.editTree.getNode(id);
// isLeaf为tree组件自带属性,用于判断当前节点是否为子节点
if (node.isLeaf) {
// 只选中子节点,父节点自动为半选中状态
this.$refs.editTree.setChecked(node, true);
}
});
});