记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树形控件的实现方式

相关推荐
liangshanbo121512 分钟前
React Fiber:从“解决卡顿”到完整更新链路
前端·javascript·react.js
Timmy20 分钟前
前端转全栈笔记:讲框架之前,先把 TypeScript 这关过了
前端·人工智能·node.js
计算机魔术师25 分钟前
年收入650亿、亏420亿,Anthropic凭什么敢叫价万亿?
前端
Frag0ut26 分钟前
Chrome Canary 最新实验功能:AI Mode、按设备筛选历史记录与 Gemini 自动改密
前端·人工智能·chrome·dev·beta·canary·最新实验功能
雪芽蓝域zzs30 分钟前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
anew___39 分钟前
《从零手写操作系统 (19):Ext2文件系统实战——从内存到磁盘的跨越》
java·服务器·前端·数据库·算法
吴声子夜歌1 小时前
Nginx应用与运维——Nginx Web服务应用实战(HTTPS安全服务器的搭建)
运维·前端·nginx
liangshanbo12151 小时前
Monorepo 工程化面试题:如何设计 Web + Node.js 中间层 + Shared + Scripts 的 Monorepo?
前端·node.js
IT_陈寒1 小时前
Redis集群切换主节点时,服务竟然全员掉线
前端·人工智能·后端
wangbing11251 小时前
开发指南147-WebSocket-前端
前端·websocket·网络协议