其实树形组件懒加载跟基础用法还是有点区别的
基本用法是需要用到data但是懒加载不需要用到data,而是用resolve的形式返回数据,如果懒加载在<el-tree></el-tree>里面使用了data,那么就会一直出现一个默认加载问题。官方文档上例子是有,但是并没有直接说不需要data.
官方案例里面用的是node.level === 0 ,其实这个就是加载第一层的分支,会默认加载是因为tree初始化时执行了此方法,所有一直会报一个错,只要把请求第一层的方法在 node.level === 0里面执行就可以了
methods: {
loadNode(node, 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);
}
}