1、在el-tree 标签中 :load=“loadNode”,在
data(){return { resolve:''}}
定义一个resolve loadNode方法中记录resolve
<el-tree
:props="props"
:load="loadNode"
lazy
show-checkbox>
</el-tree>
<script>
export default {
data() {
return {
props: {
label: 'name',
children: 'zones',
isLeaf: 'leaf'
},
resolve:''
};
},
methods: {
loadNode(node, resolve) {
this.resolve=resolve
if (node.level === 0) {
return resolve([{ name: 'region' }]);
}
if (node.level > 1) return resolve([]);
setTimeout(() => {
const data = [{
name: 'leaf',
leaf: true
}, {
name: 'zone'
}];
resolve(data);
}, 500);
}
}
};
</script>
再在增删改之后调用获取此节点下一级数据List集合使用this.resolve传值进去再调用 resolve(data);方法进行局部刷新数据。
备注:这个方法对于el-tree无复选框手动展开多个节点后数据刷新在最下面展开的节点后面,需要限制之展开一个节点方法