element 树形表格每次刷新列表保存展开关闭状态

news2024/12/24 3:02:22

树形表格保存展开关闭状态

在这里插入图片描述
编辑数据后,记录用户操作行的展开和关闭

注意,以下列子是默认展开,记录合上的状态

注意 row-key 需要给每行一个key
expand-change 点击行的操作

<el-table
       ref="tableItem"
       slot="table"
       :data="tableBox.list"
       height="100%"
       class="flex-su-order-1"
       style="width: 100%;margin-bottom: 20px;"
       :row-key="rowKye"
       border
       default-expand-all
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
       @expand-change="defaultExpandedKeys"
     >

methods 方法

data中 defaultExpandedKeysList 存放数据

getList(){
	在数据返回后
	 this.$nextTick(function() {
	 //手动设置展开或合拢
       this.expandableListView()
     })
}
//表格的每个key
rowKye(val) {
      return val.id
    },
    //点击行的操作 expanded false为合上保存数据
    defaultExpandedKeys(expandedRows, expanded) {
      const number = this.defaultExpandedKeysList.indexOf(expandedRows)
      if (!expanded) {
        this.defaultExpandedKeysList.push(expandedRows)
      } else {
        this.defaultExpandedKeysList.splice(number, 1)
      }
    },
//下面两个方法其实就是简单的遍历 匹配 把需要合龙 手动处理下
    expandableListView() {
      if (this.defaultExpandedKeysList.length > 0) {
        let idList = this.defaultExpandedKeysList.map(ele => ele.id)
        //this.tableBox.list 就是表格的数据
        this.doClose(this.tableBox.list, idList)
      }
    },

    doClose(val, idList) {
      val.forEach(deptElement => {
        if (idList.includes(deptElement.id)) {
        //false是合拢
          this.$refs.tableItem.toggleRowExpansion(deptElement, false)
        }
        if (!isEmpty(deptElement.children)) {
          this.doClose(deptElement.children, idList)
        }
      })
    },

代码可以直接用

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Matrix Breakout:2 Morpheus(靶机详细渗透测试过程记录)

nmap -sS -p 80 -oG - 192.168.192.0/24 | grep open 探测网段下开放80端口的主机。 扫描目录 发现该界面 存储型xss 发现file参数貌似可以控制读取文件目标。 尝试利用伪协议读取&#xff0c;文件内容。 解码&#xff0c;分析源代码&#xff1a; <?php$file"graff…

如何制作EDM电子邮件营销模板

敲黑板&#xff01;宝子们&#xff0c;关于如何制作EDM邮件营销模板的重点介绍来啦~EDM邮件营销模板是现代社会中非常重要的一种电子邮件营销方式。通过精美的EDM邮件营销模板&#xff0c;可以吸引更多的用户注意和关注&#xff0c;进而提高销售量和用户体验。那么&#xff0c;…

以赛兴产 曙光支持首届全国先进计算技术创新大赛

7月11日&#xff0c;首届全国先进计算技术创新大赛启动会在四川达州成功召开。中科曙光作为大赛支持单位应邀出席&#xff0c;并就以赛兴产、加速算力走向普适普惠的深耕实践做专题分享。 本次大赛由中国信息通信研究院、四川省经济和信息化厅、达州市人民政府共同主办&#xf…

【优选算法题练习】day5

文章目录 一、904. 水果成篮1.题目简介2.解题思路3.代码4.运行结果 二、438. 找到字符串中所有字母异位词1.题目简介2.解题思路3.代码4.运行结果 三、30. 串联所有单词的子串1.题目简介2.解题思路3.代码4.运行结果 总结 一、904. 水果成篮 1.题目简介 904. 水果成篮 你正在探…

夏日酷暑高温,设备陆续罢工,为什么这款DTU却能久经“烤”验

炎炎夏日&#xff0c;终于迎来周末的东东&#xff0c;想要出门却发现所在地区不断弹出高温预警&#xff0c;刚买来的雪糕因为在桌子上放了1分钟&#xff0c;再打开包装时才发现其已经开始消融&#xff0c;那小雪人精致的面容也如同被太阳炙烤般扭曲变形&#xff0c;并时不时滴下…

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)

前言&#xff1a;1 CUint-2.1-3.tar.bz2压缩安装包下载并解压2 进入CUint-2.1-3目录并且通过指令./bootstrap*产生configure *执行文件3 执行./configure*命令4 make编译5 make install 安装 前言&#xff1a; 在X86架构上的Linux操作系统上面进行cmake编译&#xff08;Cyclon…

为你解密免费音频格式转换器软件有哪些

音频格式转换技术是一种将音频文件从一种格式转换为另一种格式的技术。这项技术非常有用&#xff0c;可以帮助我们在不同设备和平台上播放和共享音频文件。现在市场上有许多免费的音频格式转换器软件可供选择&#xff0c;它们提供了方便、快捷的方式来进行音频格式转换。如果你…

MFC 将工具栏的两项中加入空白按钮

先视为普通按钮赋ID ImageList中Add的图为资源视图新建的CBitmap 是个空图 SetButtonText对应的按钮文本也为空格 然后m_toolbar.GetToolBarCtrl().EnableButton(ID_BUTTONS, FALSE);将对应的按钮禁用即可 ID_BUTTONS是第一个按钮的ID值 UINT nArray[21]; for (int i 0; i &l…

burpSuitPro破解安装教程

1、在解压后&#xff0c;如第一次使用BP请先运行 激活脚本 2、启动激活程序后点击 Run &#xff0c;运行Burp 然后将 License 里面的值复制到 Burp的 key 输入框里&#xff0c;点击 Next &#xff1a; 3、接下来我们要选择使用手动激活 点击 Manual activation 4、将如下输入…

Centos和redhat桥接模式下固定第二个ip地址为可查

这里我们以centos为例子&#xff0c;redhat与其同理 第一步&#xff1a;进入到镜像network-scripts/目录下 cd /etc/sysconfig/network-scripts 第二步&#xff1a; 输入ls查看自己启用的网卡名字并进行编辑&#xff0c;一般centos默认使用的网卡是idcfg-ens33 第三步&…

simulink 实现51单片机流水灯 及代码形式优化

目录 流水灯 代码形式 流水灯 需求&#xff1a;先左移 再右移 自己的 代码形式 2021a版本

pd虚拟机 Parallels Desktop ,让你能够在Mac电脑上同时运行Windows和macOS,简直太棒了!

最近我发现了一款软件——Parallels Desktop&#xff0c;它让我能够在Mac电脑上同时运行Windows和macOS&#xff0c;简直太棒了&#xff01;我想向大家推荐这款软件&#xff0c;因为它为我的工作和生活带来了巨大的便利和乐趣。 永久访问 https://www.hereitis.cn/soft/Paralle…

Linux开发工具【git】

Linux开发工具【git】 git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。也是林纳斯托瓦兹(Linus Torvalds)为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件&#xff0c;git 的诞生&#xff0c;让我们可以对代…

【Java】一只小菜坤的编程题之旅【2】

文章目录 1丶丑数2、各位相加3丶搜索插入位置4丶第一个错误的版本 1丶丑数 因为丑数只能被2&#xff0c;3&#xff0c;5整除&#xff0c;所以让n依次去除2&#xff0c;3&#xff0c;5&#xff0c;如果最后是n为1&#xff0c;就说明是丑数。 class Solution {public boolean is…

MySQL表的导入导出

目录 导出数据 导出数据语法 导入数据 导入数据语法 有时需要将MySQL中的数据导出到外部存储文件中 MySQL中的数据可以被导出成 sql文本文件xml文件html文件 同样的 该类文件也可以导入到MySQL数据库中 导出数据 导出数据语法 select columnlist from table where co…

typescript环境搭建

安装vscode 安装tsc npm install -g typescript --registryhttps://registry.npm.taobao.org查看是否安装成功 tsc --version管理员身份启动powershell bash set-ExecutionPolicy RemoteSigned

部署 Zabbix 集中监控系统

zabbix 概述 Zabbix 是一个基于WEB界面的提供分布式系统监控以及网络监控功能的企业级开源监控套件 服务端端口&#xff1a;10051 客户端端口&#xff1a;10050 Zabbix 主要功能 主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表图表绘制 Zab…

电压放大器如何驱动电容性负载的

电容性负载是指由电容器或一组电容器组成的负载。在电路中&#xff0c;当电容性负载与电压放大器相连时&#xff0c;电容器下极板的电位将随着输入信号的变化而变化&#xff0c;从而改变输出电压。电压放大器是一种常见的电路&#xff0c;它能够将输入电压信号放大到较大的幅度…

YOLOv5解析 | 第三篇:yolov5s.yaml文件详解

YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中 YOLOv5s 是网络深度和宽度最小但检测速度最快的模型,其他3种模型都是在YOLOv5s的基础上不断加深、加宽网络使得网络规模扩大,在增强模型检测性能的同时增加了计算资源和速度消耗。出于对…

k8s kubeadmin方式安装部署

1、节点至少2C2G. 2、首先安装docker&#xff0c; sudo yum install -y docker-ce docker-ce-cli containerd.io#以下是在安装k8s使用的docker版本。注意保持一致 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6sudo mkdir -p /etc/docker su…