element el-tree组件节点懒加载

以下是element官网懒加载自定义叶子节点的示例,我仅加上一些注释,以便于理解

<el-tree
  :props="props"       // 指定节点的label以及子节点的data等
  :load="loadNode"   // 点击某节点时会调用该方法,以查询该节点的子节点,同一节点多次点击仅执行(加载)一次
  lazy           // 必须加上该属性
  show-checkbox>
</el-tree>

<script>
  export default {
    data() {
      return {
        props: {
          label: 'name',   // 指定节点的label为data中的name属性
          children: 'zones', // 指定节点的子节点的数据为data的zones属性的值
          isLeaf: 'leaf'    
        },
      };
    },
    methods: {
      loadNode(node, resolve) {
        if (node.level === 0) {      //  加载级别为0的节点的子节点,该节点不显示,渲染完tree时自动执行
          return resolve([{ name: 'region' }]);
        }
        if (node.level > 1) return resolve([]);  // 级别为2及以上无子节点,也就是说该数的层级不超过2层

        setTimeout(() => {    // 级别为1时获取子节点,通过延时函数来模仿从后台获取的效果
          const data = [{
            name: 'leaf',
            leaf: true
          }, {
            name: 'zone'
          }];

          resolve(data);
        }, 500);
      }
    }
  };
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值