elementUI中tree组件 懒加载之增删改查 使用

本文详细介绍了如何在 ElementUI 中使用 Tree 组件实现懒加载功能,包括配置 props、load 方法、节点操作按钮等。通过示例代码展示了节点的加载、刷新、增删改查操作,适用于文件系统或层级结构的数据展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果是elementUI中tree组件 懒加载看我之前写的个人感觉很清楚了
传送阵

废话不多说

 <el-tree
          class="filter-tree"
          :props="propsOne"
          :load="loadNode"
          lazy
          :filter-node-method="filterNode"
          highlight-current
          :expand-on-click-node="false"
          ref="tree">
        <span class="custom-tree-node" slot-scope="{ node, data }">
        <span>
          <i class="el-icon-folder-opened" v-if="node.data.type === '0'"></i>
          <i class="el-icon-document" v-if="node.data.type === '1'"></i>
           {{ node.label }}</span>
        <span>
           <!-- 添加文件-->
             <el-button
               v-if="node.data.type === '0'"
               type="text"
               size="mini"
               @click="add(node,data)">
           <i class="el-icon-plus"></i>
          </el-button>
          <!--修改文件-->
          <el-button
            type="text"
            size="mini"
            @click="amend(node,data) ">
            <i class="el-icon-edit-outline"></i>
          </el-button>
          <!-- 下载文件-->
          <el-button v-if="node.data.type ==='1'"
                     type="text"
                     size="mini"
                     @click=" ">
            <i class="el-icon-download"></i>
          </el-button>
          <!-- 上传文件-->
          <el-button
            v-if="node.data.type === '0'"
            type="text"
            size="mini"
            @click="fileClick(node,data)">
            <i class="el-icon-upload"></i>
          </el-button>
          <!--删除文件-->
          <el-button
            type="text"
            size="mini"
            @click="del(node,data)" v-if="node.data.leaf">
            <i class="el-icon-delete"></i>
          </el-button>
        </span>
        </span>
        </el-tree>
 data() {
    return {
      propsOne: {
        label: 'name',
        children: 'zones',
        isLeaf: 'leaf',
      }
    };
  },
 methods: {
 loadNode(node, resolve) {
      let arr = [];
      if (node.level === 0) {
        this.queryParams.parentId = 0;
        this.queryParams.fileType = 0;
      } else {
        this.queryParams.parentId = node.data.id;
        this.queryParams.fileType = 0;
      }
      listStores(this.queryParams).then(response => {
        this.loading = false;
        response.data.map(function (value) {
          arr.push({
            "name": value.fileName,
            "id": value.id,
            "leaf": value.leaf,
            "type": value.type,
            "fileType": value.fileType,
            "parentId": value.parentId,
          })
        });
        resolve(arr);
      });
    },
 }

修改后刷新

    //刷新父树结构
    this.node.parent.loaded = false;
    this.node.parent.expand();

之后的增删改查写方法就可以了,写自己的逻辑
效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值