之前我有写过Element ui的树形懒加载
其主要是通过load函数来实现
而TDesign也是照虎画猫
他也是主要靠load
我们先来看一个基本的组件
<template><t-tree :data="items" :load="load" />
</template><script lang="jsx">export default {data() {return {items: [{label: '1',children: true,},{label: '2',children: true,},],};},methods: {load(node) {console.log(node);return new Promise((resolve) => {setTimeout(() => {let nodes = [{label: '3',children: false,},];resolve(nodes);}, 500);});},},
};
</script>
这里和Element ui不同的是 Element ui的树形load一进来就会触发一次
你可以通过load来加载根目录的数据
但TDesign是只有点击父节点才会触发 一进来是不会触发的
所以 第一级的数据 你要自己想办法弄给树形绑定的 data
像这里 我就直接将数据写给了items
如果是请求数据 你就要在生命周期里将第一级赋值给 data绑定的属性
然后我们运行项目
然后我们点击 这就会触发 load 带出下面层级的数据
我这里是直接无脑返回了
[{label: '3',children: false,},
];
的数据结构 实际中 肯定还是要根据父id来的
然后呢 这个children就是来控制是否有子集的
你赋值true 他就会显示前面可以展开的那个箭头
设置false 表示没有子集 就没有这个箭头了