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

相关推荐
前端小白从0开始21 分钟前
Vue3项目实现WPS文件预览和内容回填功能
前端·javascript·vue.js·html5·wps·文档回填·文档在线预览
難釋懷1 小时前
Vue解决开发环境 Ajax 跨域问题
前端·vue.js·ajax
特立独行的猫a1 小时前
Nuxt.js 中的路由配置详解
开发语言·前端·javascript·路由·nuxt·nuxtjs
咸虾米1 小时前
在uniCloud云对象中定义dbJQL的便捷方法
前端·javascript
梨子同志1 小时前
JavaScript Proxy 和 Reflect
前端·javascript
汤圆炒橘子1 小时前
状态策略模式的优势分析
前端
90后的晨仔2 小时前
解析鸿蒙 ArkTS 中的 Union 类型与 TypeAliases类型
前端·harmonyos
IT_陈寒2 小时前
Element Plus 2.10.0 重磅发布!新增Splitter组件
前端·人工智能·后端
挑战者6668882 小时前
vue入门环境搭建及demo运行
前端·javascript·vue.js
贩卖纯净水.2 小时前
Webpack的基本使用 - babel
前端·webpack·node.js