element树形控件编辑节点组装节点

需求功能:
编辑树节点,组装节点

在这里插入图片描述

<el-scrollbar class="scrollbar-wrapper"><el-tree :data="nodeList" ref="tree" :props="defaultProps" :expand-on-click-node="false"><template slot-scope="{ node, data }"><div class="custom-tree-node"><template v-if="node.label"><span>{{node.label}} <span v-if="node.level==4 && false" style="padding-left:30px"><el-checkbox v-model="data.isCommon" true-label="Y" false-label="N">是否常用分类</el-checkbox></span></span><span style="margin-left:20px"><el-button size="small" type="text" @click.stop="appendNode(node,data)":disabled='node.level==4'>新增</el-button><el-button size="small" type="text" @click.stop="editNode(node,data)">编辑</el-button><el-button size="small" type="text" @click.stop="removeNode(node,data)">删除</el-button></span></template><template v-else="!node.investFormCodeText"><el-row :gutter="20" style="width:80%"><el-col :span="3"><div class="">编号:</div></el-col><el-col :span="6"><el-input v-model="data.investFormCode" size="small" placeholder="请输入编号"></el-input></el-col><el-col :span="3"><div class="">描述:</div></el-col><el-col :span="12"><el-input v-model="data.investFormCodeDesc" size="small" placeholder="请输入描述"></el-input></el-col></el-row><span style="margin-left:20px"><el-button size="small" @click="handleCancel(node,data)">取消</el-button><el-button size="small" type="primary" @click.stop="addChild(node,data)":disabled='node.level==4'>保存</el-button></span></template></div></template></el-tree></el-scrollbar>
data () {return {nodeList: [],defaultProps: {children: 'childList',label: 'investFormCodeText'},deleteList: [],}}
appendNode (node, data) {//为 Tree 中的一个节点追加一个子节点this.$refs.tree.append({dictKey: "marketQuotationInvestForm",investFormCodeText: '',childList: []}, node)},editNode (node, data) {this.$set(data, "tempInvestFormCodeText", data.investFormCodeText);this.$set(data, "investFormCodeText", "");},removeNode (node, data) {const parent = node.parent;const childList = parent.data.childList || parent.data;const index = childList.findIndex(d => d === data);if (data.id) {this.$confirm('删除配置项将影响历史数据,请确认是否删除?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {childList.splice(index, 1);this.deleteList.push({id: data.id});this.$message({type: 'success',message: '删除成功!'});}).catch(() => {this.$message({type: 'info',message: '已取消删除'});});}else {childList.splice(index, 1);}},
// 数据结构
"nodeList": [{"investFormCodeText": "TF01 -- 搜索广告","investFormCode": "TF01","childList": null,"id": 14,"investFormCodeDesc": "搜索广告","parentId": 0},{"investFormCodeText": "TF02 -- 开屏","investFormCode": "TF02","childList": [{"investFormCodeText": "A001 -- 抖音-开屏","investFormCode": "A001","childList": [{"investFormCodeText": "B001 -- 优选互动","investFormCode": "B001","childList": null,"id": 17,"investFormCodeDesc": "优选互动","parentId": 16},{"investFormCodeText": "B002 -- 优选点击","investFormCode": "B002","childList": null,"id": 18,"investFormCodeDesc": "优选点击","parentId": 16},{"investFormCodeText": "B003 -- 超级优选","investFormCode": "B003","childList": null,"id": 19,"investFormCodeDesc": "超级优选","parentId": 16}],"id": 16,"investFormCodeDesc": "抖音-开屏","parentId": 15},{"investFormCodeText": "A002 -- 头条-开屏","investFormCode": "A002","childList": [{"investFormCodeText": "B001 -- 优选互动","investFormCode": "B001","childList": null,"id": 21,"investFormCodeDesc": "优选互动","parentId": 20},{"investFormCodeText": "B002 -- 优选点击","childList": null,"id": 22,"investFormCodeDesc": "优选点击","parentId": 20}],"id": 20,"investFormCodeDesc": "头条-开屏","parentId": 15}],

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/160016.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十三、队列的特性

1、队列(Queue)概述 队列可以用于"任务到任务"、"任务到中断"、"中断到任务"直接传输信息。队列涉及内容如下: 怎么创建、清楚、删除队列队列中消息如何保存怎么向队列发送数据、怎么从队列读取数据、怎么覆盖队列的数据在队列上阻塞式什么意思…

计算机毕业设计-开题报告答辩常见问题!Javaweb项目答辩

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

尚硅谷Flink(一)

目录 ☄️前置工作 fenfa脚本 &#x1f30b;概述 ☄️Flink是什么 ☄️特点&#xff08;多nb&#xff09; ☄️应用场景&#xff08;不用看&#xff09; ☄️分层API &#x1f30b;配环境 ☄️wordcount ☄️WcDemoUnboundStreaming &#x1f30b;集群部署 ☄️集…

计算机毕业设计 基于协同过滤算法的白酒销售系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

IP 协议的相关特性(部分)

IP 协议的报文格式 4位版本号&#xff1a; 用来表示IP协议的版本&#xff0c;现有的IP协议只有两个版本&#xff0c;IPv4&#xff0c;IPv6。 4位首部长度&#xff1a; 设定和TCP的首部长度一样 8位服务类型&#xff1a; &#xff08;真正只有4位才有效果&#xff09;&#xf…

【LeetCode 算法专题突破】双指针(⭐)

文章目录 前言1. 移动零题目描述代码 2. 复写零题目描述代码 3. 快乐数题目描述代码 4. 盛最多水的容器题目描述代码 5. 有效三角形的个数题目描述代码 6. 三数之和题目描述代码 7. 四数之和题目描述代码 总结 前言 学算法入门必学的一个章节&#xff0c;双指针算法&#xff0…

2023/10/15总结

学习总结 最近开始写项目了&#xff0c;然后写的过程中遇到了跨域问题。 为什么会出现跨域问题 由于浏览器的同源策略限制。同源策略是一种约定&#xff0c;它是浏览器最核心也是最基本的安全功能。如果缺少了同源策略&#xff0c;那么浏览器的正常功能可能都会收到影响。所谓…

雷电模拟器上使用第一个frida(四)第一个HOOK

经过上述三篇&#xff0c;已经可以使用python3.8.10编写代码&#xff0c;利用frida14.2.18和雷电模拟器9.0.60(9)&#xff0c;Android 9交互。 雷电模拟器上使用第一个frida&#xff08;一&#xff09;之安装-CSDN博客 雷电模拟器上使用第一个frida&#xff08;二&#xff09…

【git的使用方法】——上传文件到gitlab仓库

先进入到你克隆下来的仓库的目录里面 比如&#xff1a;我的仓库名字为zhuox 然后将需要上传推送的文件拷贝到你的克隆仓库下 这里的话我需要拷贝的项目是t3 输入命令ls&#xff0c;就可以查看该文件目录下的所有文件信息 然后输入git add 文件名 我这边输入的是 &#x…

windows内网渗透正向代理

内网渗透正向代理 文章目录 内网渗透正向代理1 正向代理图2 环境准备2.1 正向代理需求&#xff1a; 3 网卡配置3.1 【redream】主机3.2 【base】主机双网卡3.3 【yvkong】网卡设置 4 启动4.1【redream】网卡配置&#xff1a;4.2【base】网卡配置&#xff1a;4.3【yvkong】网卡地…

MQTT整合

MQTT整合 MQTT服务器软件筛选MQTT服务器软件mosquitto下载修改mosquitto配置,并启动mosquitto服务利用mosquitto工具测试订阅与发布可视化MQTT客户端工具MQTTX使用SpringBoot整合MQTT1.2.3.4.5.6.MQTT服务器软件筛选 MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输…

以数智化指标管理,驱动光伏能源行业的市场推进

近年来&#xff0c;碳中和、碳达峰等降低碳排放、提升环境健康度的政策和技术改进正在不断地被社会所认可和引起重视&#xff0c;也被越来越多的企业在生产运营和基础建设中列为重要目标之一。而光伏能源行业作为全球绿色能源、新能源的优秀解决方案&#xff0c;充分利用太阳能…

Android Studio SDKGradleJDK等工具的正确使用

AS在安装使用过程中可能会占用C盘大量空间&#xff0c;对于C盘容量本来就小的人来说非常不友好&#xff0c;其实我们可以自定义安装路径 software development kit安卓软件开发包 Android SDK是一种免费的专门编程语言&#xff0c;允许您创建Android应用程序。Android SDK由谷…

Day1力扣打卡

打卡记录 最长相邻不相等子序列 I&#xff08;脑筋急转弯&#xff09; 链接 思路&#xff1a;形如 11100110001 要达到最大&#xff0c;必须在重复数字选出一个&#xff0c;即在111中取一个1&#xff0c;在00中取一个0&#xff0c;以此类推最终便得到最长相邻不相等子序列。 c…

【Linux】shell运行原理及权限

主页点击直达&#xff1a;个人主页 我的小仓库&#xff1a;代码仓库 C语言偷着笑&#xff1a;C语言专栏 数据结构挨打小记&#xff1a;初阶数据结构专栏 Linux被操作记&#xff1a;Linux专栏 LeetCode刷题掉发记&#xff1a;LeetCode刷题 算法&#xff1a;算法专栏 C头疼…

Linux入门攻坚——3、基础命令学习-文件管理、别名、glob、重定向、管道、用户及组管理、权限管理

文件管理&#xff1a;cp&#xff0c;mv&#xff0c;rm cp&#xff1a;复制命令&#xff0c;copy cp [OPTION]... [-T] SRC DEST cp [OPTION]... SRC... DIRECTORY cp [OPTION]... -t DIRECTORY DEST... 如果目标不存在&#xff0c;新建DEST&#xff0c;并将…

笔试算法题ACM模式输入输出处理

1. Python input之后得到的全是string类型&#xff0c;数字需要用int(n)进行转换 读取单个数 n int(input()) 读取一串数组&#xff1a; nums [int(n) for n in input().split()] &#xff08;nums是个数组&#xff09; 读取字符串&#xff1a; stringinput().split(…

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容

qt笔记之qml下拉标签组合框增加发送按钮发送标签内容 code review! 文章目录 qt笔记之qml下拉标签组合框增加发送按钮发送标签内容1.运行2.文件结构3.main.qml4.main.cc5.MyClass.h6.MyClass.cc7.CMakeLists.txt8.ComboBox.pro9.qml.qrc 1.运行 2.文件结构 3.main.qml 代码 …

【1314. 矩阵区域和】

目录 一、题目描述二、算法思想三、代码实现 一、题目描述 二、算法思想 三、代码实现 class Solution { public:vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {//先预处理数组int nmat.size();//行int mmat[0].size();…

python--短路运算,把0、空字符串和None看成 False,其他数值和非空字符串都看成 True

代码 print(3 and 4 and 5) # 5 print(5 and 6 or 7) # 6 4 > 3 and print(‘hello world’) # 输出hello world 注释&#xff1a; 在逻辑运算中&#xff0c;不一定逻辑运算符的两边都是纯表达式。也可以是数值类型的数据。 Python把0、空字符串和None看成 False&#xff…