el-tree实现懒加载

一、懒加载树结构

复制代码
<div class="hello" id="container">
    <el-tree
      ref="tree"
      node-key="id"
      :default-expanded-keys="[2]"
      current-node-key="2"
      :props="defaultProps"
      :check-strictly="true"
      @node-click="getChecked"
      @check="handleCheck"
      highlight-current
      :load="loadNode"
      lazy
    >
    </el-tree>
 </div>

data() {
   defaultProps: {
      // children: 'children',
      label: 'label',
       isLeaf: 'leaf'
    }
},
methods: {
    loadNode(node, resolve) {
      console.log('level:=====', node.level)
      if (node.level === 0) {
        return resolve([
          { id: 1, label: 'region' },
          { id: 2, label: 'region2' }
        ])
      }
      if (node.level > 1) return resolve([])

      setTimeout(() => {
        const data = [
          {
            id: 3,
            label: '一级 3',
            leaf: true
          },
          {
            id: 4,
            label: 'zone'
          }
        ]

        resolve(data)
      }, 500)
    }
}

二、懒加载并做数据回显

复制代码
<el-tree
      ref="tree"
      node-key="id"
      current-node-key="2"
      :props="defaultProps"
      :check-strictly="true"
      :show-checkbox="showCheckbox"
      :default-expanded-keys="allSelectOptions"  
      :default-checked-keys="remainIds"
      @node-click="getChecked"
      @check="handleCheck"
      highlight-current
      :load="loadNode"
      lazy
    >
 </el-tree>
// allSelectOptions--默认展开节点得key数组
// remainIds--默认选中key
// 1、defaultExpandAll 不可设置为默认展开,根据回显时,设置的default-expanded-keys?,
// 若设置默认展开值,则只加载第一次,剩下走el-tree自带的懒加载;
// 若未设置展开值,则首次需要全加载出来
data() {
    return {
      defaultProps: {
        // children: 'children',
        label: 'label',
        isLeaf: 'leaf'
      },
      remainIds: [3],
      allSelectOptions: [1]
    }
  }
相关推荐
前端Hardy26 分钟前
HTML&CSS&JS:纯前端图片打码神器:自定义强度 + 区域缩放,无需安装
前端·javascript·css
Keepreal49644 分钟前
word文件预览实现
前端·javascript·react.js
郝开44 分钟前
5. React中的组件:组件是什么;React定义组件
前端·javascript·react.js
斜向生44 分钟前
【JavaScript正则表达式指南】——字符类(集合、范围、预定义字符类)和反向字符类详解
javascript
FuckPatience1 小时前
电脑所有可用的网络接口
前端·javascript·vue.js
前端开发爱好者1 小时前
尤雨溪宣布:Vite 纪录片震撼发布!
前端·javascript·vue.js
北城以北88881 小时前
ES6(二)
前端·javascript·es6
科兴第一吴彦祖1 小时前
基于Spring Boot + Vue 3的乡村振兴综合服务平台
java·vue.js·人工智能·spring boot·推荐算法
渣哥2 小时前
多环境配置利器:@Profile 在 Spring 项目中的实战价值
javascript·后端·面试
U.2 SSD2 小时前
Echart仪表盘示例
javascript·echarts