基于antd-vue v1.7.x版本所开发的组织架构树升级版,支持增删改查,滑动加载、远程搜索

本文介绍了基于antd-vue v1.7.x版本开发的组织架构树组件,支持无限层级的增删改查、滑动加载和远程搜索功能。通过二次封装,实现静默更新,避免频繁刷新页面。详细讲解了组件的各个部分,包括模板、数据、方法以及注意事项,同时讨论了新增、编辑、删除、批量删除的实现策略,以及编辑节点优化和远程搜索的挑战。
摘要由CSDN通过智能技术生成

背景:在此之前已经实现过单层级的增删改查,现在需求升级成希望无限往下加 ,所以又来更新一下,之前写过这样一篇文章的地址

首先肯定是要针对组织架构树进行二次封装 具体方法可以看这个网站

首先看效果图

树结构

在这里插入图片描述

新增下级

在这里插入图片描述

编辑当前

在这里插入图片描述

删除

在这里插入图片描述
首先肯定是要针对框架进行二次封装,写成公共组件,代码里面已经写的很清楚,每一个方法和变量都是什么

template内容
<a-tree
      v-if="showTree"
      :tree-data="treeData"
      :checkedKeys="checkedKeys"
      :expandedKeys="expandedKeys"
      checkable
      :auto-expand-parent="true"
      :defaultExpandAll="true"
      :defaultExpandParent="true"
      :replace-fields="replaceFields"
      :load-data="onLoadData"
      @expand="onExpand"
      @select="onSelect"
      @check="getSelectedKeys"
    >
      <template slot="custom" slot-scope="item">
        <!-- 非新增条目 -->
        <span v-if="!item.isNewItem">
          <!-- 非编辑 -->
          <span
            v-if="!item.isEdit"
            class="node-title"
            :class="emptyActive && item.active ? 'active' : ''"
            >{
   {
    item.title }}
          </span>
          <!-- 编辑 -->
          <div v-else class="add-input-div">
            <input
              v-model="item.title"
              type="text"
              class="editInput"
              autofocus
              :maxLength="12"
              :class="item.empty ? 'red' : ''"
              @focus="item.empty = false"
            />
            <span
              class="tree-save_icon edit-require_icon"
              @click="saveEditNode(item)"
            >
              <a-icon type="check-circle" />
            </span>
            <span
              class="tree-cancle_icon edit-require_icon"
              @click="cancelEdit(item)"
            >
              <a-icon type="close-circle" />
            </span>
          </div>
          <!-- 非编辑状态 -->
          <span v-if="!item.isEdit">
            <!-- 删除按钮 -->
            <a-tooltip
              placement="top"
              v-if="item.parentId != 0 && isShowDeleteIcon"
            >
              <template slot="title">
                <span>删除部门</span>
              </template>
              <span class="icon-wrap" @click="deleteNode(item)">
                <icon name="delete-opt" />
              </span>
            </a-tooltip>
            <!-- 编辑按钮 -->
            <template v-if="item.parentId != 0 && isShowEditIcon">
              <a-tooltip placement="top">
                <template slot="title">
                  <span>编辑部门名称</span>
                </template>
                <span class="icon-wrap" @click="editNode(item, $event)">
                  <icon name="edit-opt" />
                </span>
              </a-tooltip>
            </template>

            <!-- 添加按钮 -->
            <a-tooltip v-if="isShowAddIcon && item.depth < 5" placement="top">
              <template slot="title">
                <span>新增下级部门</span>
              </template>
              <span class="icon-wrap" @click="addNewNode(item)">
                <icon name="plus" />
              </span>
            </a-tooltip>
          </span>
        </span>
        <!-- 新增条目 -->
        <div v-else class="add-input-div">
          <input
            v-model="item.name"
            type="text"
            class="editInput"
            autofocus
            :maxLength="12"
            placeholder="请输入部门名称"
          />
          <span
            class="tree-save_icon edit-require_icon"
            @click="saveAddNode(item)"
          >
            <a-icon 
对于Vue-antd-admin的增删改查操作,你可以按照以下步骤进行: 1. 创建一个数据表格组件,用于展示数据,并导入antd的Table组件和相关样式。 2. 在数据表格组件中,使用Table组件的columns属性定义表格的列,每一列对应数据表中的一个字段。同时,在columns中可以定义一些操作列,比如编辑和删除按钮。 3. 在数据表格组件中,通过调用接口获取后端返回的数据,并将数据渲染到表格中。 4. 实现添加功能:创建一个添加数据的弹窗组件,使用antd的Modal组件作为弹窗容器,并在弹窗中设置表单项,根据需要可以使用antd的Form组件来处理表单验证和提交。 5. 在数据表格组件中,通过点击添加按钮打开弹窗组件,填写表单项并提交数据到后端接口。 6. 实现编辑功能:创建一个编辑数据的弹窗组件,与添加数据的弹窗组件类似,但需要在打开弹窗时传入要编辑的数据。 7. 在数据表格组件中,通过点击编辑按钮打开编辑弹窗组件,将要编辑的数据传递给弹窗组件,并在弹窗中显示该数据。修改表单项后,提交修改后的数据到后端接口。 8. 实现删除功能:在数据表格组件中,为删除按钮绑定点击事件,点击时调用后端接口删除对应的数据。 以上是基本的增删改查操作流程,具体的实现细节还需要根据你的具体业务需求进行调整和完善。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左撇子没秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值