前言

今天,回老家了。第一件事就是回家把大屏安排上,写作的感觉太爽了,终于可以专心地写文章了。我们今天要做的项目是怎么样搭建一个无限级联层级表格组件,好了,多了不多说,赶快行动起来吧!
项目一览

到底是啥样子来?我们来看下。

正如你所看到的那样,这个组件涉及添加、删除、编辑功能,并且可以无限级嵌套。那么怎样实现的?我们来看下。
源码

直接给出源码,就是这么直接。

<template>
<div class="container">
<el-button
type="primary"
size="small"
@click="handleCreate"
icon="el-icon-circle-plus-outline"
style="margin: 10px 0"
>添加</el-button
>
<el-table
:data="tableData"
style="width: 100%; margin-bottom: 20px"
border
row-key="value"
stripe
size="medium"
:tree-props="{ children: 'children' }"
>
<el-table-column prop="label" label="标签名称"> </el-table-column>
<el-table-column prop="location" label="层级"> </el-table-column>
<el-table-column label="操作" :align="alignDir" width="180">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="handleUpdate(scope.row)"
>编辑</el-button
>
<el-button
type="text"
size="small"
@click="deleteClick(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
:title="textMap[dialogStatus]"
:visible.sync="dialogFormVisible"
width="30%"
>
<el-form
ref="dataForm"
:rules="rules"
:model="temp"
label-position="left"
label-width="120px"
style="margin-left: 50px"
>
<el-form-item
label="层级:"
prop="location"
v-if="dialogStatus !== 'update'"
>
<el-select
v-model="temp.location"
placeholder="请选择层级"
@change="locationChange"
size="small"
>
<el-option
v-for="item in locationData"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item
v-if="sonStatus && dialogStatus !== 'update'"
label="子位置:"
prop="children"
>
<el-cascader
size="small"
:key="isResouceShow"
v-model="temp.children"
placeholder="请选择子位置"
:label="'label'"
:value="'value'"
:options="tableData"
:props="{ checkStrictly: true }"
clearable
@change="getCasVal"
></el-cascader>
</el-form-item>
<el-form-item label="标签名称:" prop="label">
<el-input
v-model="temp.label"
size="small"
autocomplete="off"
placeholder="请输入标签名称"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false" size="small">
取消
</el-button>
<el-button
type="primary"
size="small"
@click="
dialogStatus === 'create' ? createData() : updateData()
"
>

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/118721359

最新文章

  1. SAP(ABAP) 显示等待图标的FM:SAPGUI_PROGRESS_INDICATOR-SAP进度条
  2. React独立组件间通信联动
  3. zookeeper+dubbo-admin开发dubbo应用
  4. jquery 农历日历 可自适应
  5. vim 空格 制表符
  6. Chkrootkit Sourcecode Learning
  7. Mac可设置环境变量的位置、查看和添加PATH环境变量
  8. Spring集成hibernate错误
  9. POJ-3468 A Simple Problem with Integers Splay Tree区间练习
  10. redis/memcache监控管理工具——treeNMS
  11. JAVA实现等腰三角形
  12. Oracle总结一
  13. 如何在Spring MVC Test中避免”Circular view path” 异常(转)
  14. svelte 构建快速web 应用的工具
  15. 还没被玩坏的robobrowser(6)——follow_link
  16. 菜鸟译文(二)——使用Java泛型构造模板方法模式
  17. matlab的特殊字符(上下标和希腊字母等)
  18. 安装CentOS桌面环境
  19. Mycat常见错误
  20. uploadify上传之前判断一个input输入框是否为空

热门文章

  1. linux3种安装软件、yum仓库、防火墙、乱码
  2. random模块、os模块、序列化模块、sy模块s、subprocess模块
  3. 初识ES6(JavaScript)
  4. 使用Kubeadm搭建高可用Kubernetes集群
  5. python基础练习题(题目 作用域、类的方法与变量)
  6. ELF文件结构
  7. 浅尝Spring注解开发_Servlet3.0与SpringMVC
  8. windows 存储和切换 ip 配置
  9. 虚拟机:KVM
  10. 吊炸天,Spring Security还有这种用法!