问题描述:在用element的tree组件实现多选树的时候,保存的时候后台需要将半选中的节点一起保存到数据库中,但是回显的时候需要将半选中的节点剔除,否则会导致该节点下的所有节点置为选中状态。
解决办法:
//保存时将半选中的节点一起获取到
const ids=proxy.$refs["treeRef"].getCheckedNodes(false,true)
//回显默认选中的节点时只回显子节点的选中状态
const defaultChecked=['1','2','4'] //默认选中的节点id数组
defaultChecked.map(i => {
let node = proxy.$refs["treeRef"].getNode(i);
if (node.isLeaf) {
proxy.$refs["treeRef"].setChecked(node, true);
}
});