记element-ui树形控件懒加载实现

概要

如何通过vue2+element-ui实现树形控件的懒加载

整体架构流程

1.树形控件的组件代码

复制代码
            <el-tree
              :data="treeData"
              :props="defaultProps"
              :load="load"
              lazy
              @current-change="handleNodeClick"
              :expand-on-click-node="true"
              :highlight-current="true"
              ref="tree"
              node-key="id"
            >
              <span class="custom-tree-node" slot-scope="{ data }">
                <span>{{ data.name}}</span>
              </span>
            </el-tree>

2.加载子树数据的方法

复制代码
 async loadNode(node, resolve) {
      if (node.level == 0) {
        //若根目录的接口和子节点数据不同则需要加判断
      } else {
        let arr = [];
        arr = node.data.fathers;
        let treeData = await this.getTreeAction();
        return resolve(treeData);
      }
    },

3.子节点接口

复制代码
 getTreeAction(arr, nextLayerIsVariable) {
      return new Promise((resolve, reject) => {
        resolve(data);
        //data是通过后端接口获取到的数据            
      });
    },

小结

记一次加载element-ui树形控件的实现方式

相关推荐
90后小陈老师4 分钟前
WebXR教学 07 项目5 贪吃蛇小游戏
前端·数码相机
一口一个橘子7 分钟前
[ctfshow web入门] web118
前端·web安全·网络安全
GanGuaGua22 分钟前
Vue3:脚手架
前端·javascript·css·vue.js·vue
weixin_4316004444 分钟前
使用 Vue Tour 封装一个统一的页面引导组件
javascript·vue.js·ecmascript
鸡吃丸子1 小时前
常见的实时通信技术(轮询、sse、websocket、webhooks)
前端·websocket·状态模式
胡斌附体2 小时前
vue添加loading后修复页面渲染问题
前端·javascript·vue.js·渲染·v-if·异步加载
酷爱码3 小时前
css中的 vertical-align与line-height作用详解
前端·css
沐土Arvin3 小时前
深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
开发语言·前端·javascript·设计模式·html
专注VB编程开发20年3 小时前
VB.NET关于接口实现与简化设计的分析,封装其他类
java·前端·数据库
小妖6663 小时前
css 中 content: “\e6d0“ 怎么变成图标的?
前端·css