VUE+ElementUI 实现 el-table树形结构的全部展开和全部收回功能

vue element树形控件 展开全部 收起全部 真的是百度看各种博文各种坑,不忍直视,经过本博主不断地钻研,终于成功了,先看图: 数据是接口来的一个整体数据,并非点一下请求一下懒加载,如果有类似功能的也可以私聊,有源码。 button: <el-button icon="el-icon-plus" @click="setAllExpand(true)" type="info" plain >展开 &l 阅读详情

VUE+ElementUI 实现 el-table树形结构的全部展开和全部收回功能

文章目录

背景

ElementUI官方提供了el-table的树形结构展示方式。
通常使用树形结构时,会需要“全部展开”和“全部收回”的按钮功能,便于我们能够方便对数据表格的操作。比如下图的实现效果:

在这里插入图片描述

实现思路

官方文档中给出了表格级别的方法,在Table Methods中,可以找到 toggleRowExpansion 方法,其具体含义参见官网释义。

该方法可以实现表格中某一行的展开或者收缩功能,那么我们就借用此方法来实现所有行的功能,也是非常简单的了。

废话不多说,直接上代码:

按钮

	<el-col :span="1.5">
        <el-button
          type="primary"
          plain
          :icon="openFlag ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"
          size="mini"
          @click="toggleRowExpansion(openFlag)"
        >{{openFlag ? '收起' : '展开'}}</el-button>
     </el-col>

表格

<el-table
      v-loading="loading"
      :data="roleList"
      ref="roleList"
      row-key="roleId"
      :default-expand-all="openFlag"
      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
    >
      <!--<el-table-column type="selection" width="55" align="center" />-->
      <el-table-column label="角色编号" prop="roleId" width="120" />
      <el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
      <el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
</el-table>

实现方法

data() {
    return {
      // 树层级打开
      openFlag: true,
    }
},
methods: {
	/** 展开收缩 */
    toggleRowExpansion(isExpansion){
      this.openFlag = !isExpansion;
      this.toggleRowExpansion_forAll(this.roleList,this.openFlag);
    },
    toggleRowExpansion_forAll(data,isExpansion){
      data.forEach(item=>{
        this.$refs.roleList.toggleRowExpansion(item,isExpansion);
        if(item.children != undefined && item.children != null){
          this.toggleRowExpansion_forAll(item.children,isExpansion);
        }
      })
    },
}

注:this.roleList中的roleList为el-table的data属性值,$refs.roleList中的roleList为el-table的ref属性值。
实际上,我是使用了一个循环遍历来实现这样的效果。

文章借鉴

VUE+ElementUI 实现 el-table树形结构的全部展开和全部收回功能

elementui的el-table自定义控制展开事件,实现“展开”“收起”的切换(两种效果)【超级完整式代码】 全网代码最全:elementui的el-table自定义控制展开事件,实现“展开”“收起”的切换(两种效果) 阅读详情

相关推荐

el-table展开行 +懒加载功能实现表格嵌套

背景需求 如下图,想要在表格展开行中再嵌套一个表格,外层表格数据和内层表数据由两个接口提供,故需要用类似懒加载的功能实现。 为什么说类似懒加载,是因为我发现el-table组件自带的树形数据与懒加载并不能满足子表格组件展示字段与父表格组件展示字段不一致的需求,所以我选择采用展开行 + expand-change事件来实现。 实现中遇到的问题 通过展开行+ expand-change实现时,遇到一个很大的问题,就是el-table组件在更新数据内部某个属性值时,并不能实时刷新dom视图,这样会导致每次在ex

weixin_45496202的博客 8725

element-table-column表格内容展开收起,自动展示三行

element-table-column表格内容展示三行,点击展开所有内容,点击收起展示三行+展开按钮,鼠标悬停之后展示详情

weixin_48867669的博客 1973

VUE+ELEMENTUI el-tree+el-card+el-table结合使用

VUE+ELEMENTUI el-tree+el-card+el-table结合使用

Young_yaru的博客 1475

el-table表单一键展开折叠,展开部分后一键全部展开或折叠

toggleRowExpansion:用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开与否(第一个参数为 true 则展开)文章到此结束,希望对你有所帮助~使用递归的方式进行展开折叠操作。

请叫我欧皇!的博客 9142

Vue(十九):ElementUI 扩展实现树形结构表格组件的勾父选子、半勾选、过滤出半勾选节点功能

ElementUI 扩展实现树形结构表格组件的勾父选子、半勾选、过滤出半勾选节点功能

You瞧谁不起 - 道不尽世间的沧桑,诉不完人生的悲凉 1897

Python语言在工业控制中的简单应用

在工业控制中,经常需要对采集到的数据进行分析和处理,Python的这些库可以简化这一过程。传统的工业控制系统多依赖于专用的控制硬件和软件,但随着技术的发展,开放性和灵活性成为了新的需求焦点。还有,Python社区活跃,提供了大量的开源代码和模块,这对于工业控制领域来说是一个巨大的资产。Python作为一种高级编程语言,因其简洁的语法、强大的库支持和广泛的社区资源而在工业界获得了快速的发展和广泛的应用。在工业控制领域,Python的应用日益增多,这得益于其跨平台性、脚本语言的灵活性以及与硬件设备交互的能力。

2303_78014702的博客 1720

elementUI中el-table树形与el-tree树形结构的一键折叠与展开

elementUI中el-table树形结构一键折叠/展开 1.业务需求: vue项目,权限菜单管理中菜单table的树形结构,一般情况下如果使用的是elementUI那么可以使用里面el-table的树形结构,实际场景需要一键折叠/展开功能。 2.需求分析: 一键折叠/展开功能就是点击它之后,如果他是所有展开的,那么让他所有折叠,反之让他所有展开。 3.解决方案: el-table树形结构的一键折叠/展开功能其实就是与el-table中的 toggleRowSelection 方法密切相关,但

cabinx的博客 1万+

基于 YOLO + SAM 的自动图像标注实战

摘要: 本文提出一种基于YOLO检测和SAM分割的自动化数据标注流水线方案,通过YOLO定位目标并生成检测框,再以检测框为提示驱动SAM完成精细分割,最终输出YOLO格式的标注文件。该方案将人工标注升级为半自动流程,显著提升标注效率,尤其适用于多类别、大规模图像的实例级标注需求。代码模块化设计支持模型灵活替换,并集成异常处理与进度可视化功能。虽依赖YOLO检测质量且对小目标存在局限,但作为工程落地方案,可有效降低私有数据集构建成本,适用于工业检测、遥感等场景的冷启动标注。

qq_64366203的博客 1144

【elementUI中el-table树形与el-tree树形结构的一键折叠与展开】

一、业务需求 vue项目,菜单管理中菜单table的树形结构,一般情况下如果使用的是elementUI那么可以使用里面el-table的树形结构,实际场景需要一键折叠/展开功能。当选择上级目录时需要通过el-tree树形获取目录的树形结构,此时也需要一键折叠/展开功能。 二、解决方案 el-table树形结构的一键折叠/展开功能其实就是与el-table中的 toggleRowSelection 方法密切相关,但是它只是改变某一个节点的,要改变所有节点的话那么就需要这样处理: 三、完成效果 1)展开 2)

Mrchai521的博客 5807

wifi/BT芯片RTL8723DS驱动移植和测试之一wifi篇

本文主要介绍如何在stm32mp157中移植并测试芯片RTL8723DS的wifi功能。

汉尼拔勇闯天涯 8737

Palantir解密:说人话,到底什么是“本体”?

笔者2018年在云计算公司开展政企数字化专项时,便意识到全面数字化进程背后存在大量未知领域,尤其是未来数字世界的底层架构如何构建这一关键问题。可惜因为种种原因,连那几个小专项最终都未能落地,也就无从深入了。近期看了很多有关Palantir的材料,倒觉得这像是新硅谷(区别于比尔盖茨、扎克伯格等主导的硅谷时代)交出的一份关于“数字世界底层架构”的答案,至于这个答案是否成立、有没有更优解、我们本土对标的版本是什么,可能都还待看。《Palantir解密》系列尝试通过解析Palantir,来系统回答这一问题。

SZSDQJC的博客 2154

el-table树形结构展开失败问题

这里写自定义目录标题问题描述解决方案 问题描述 在elementui中使用el-table完成树形结构,如下图所示: 点击展开箭头消失,不能展开和关闭。 解决方案 讲el-table的ref删除或者ref改名不要叫table。具体原因不清楚 希望有大佬可以帮忙解惑。 ...

不知道说什么的博客 2226

Ceres Solver:从入门到使用

Ceres Solver是谷歌开源的C++非线性优化库,能够解决有约束或无约束条件下的非线性最小二乘问题。2010年之后大量的运用在谷歌的产品开发中,尤其在谷歌开源的cartographer中被大量的使用。 ceres可以在Linux,Windows,macOS,Andrioid,IOS系统进行安装使用,详情可查看下方的官网链接。 Ceres Solver 官网:http://ceres-solver.org/

非晚非晚的博客 1万+

<el-table>构建树形结构

element-ui组件之用el-table组件来构建树型结构

m0_73679567的博客 1702

EUV光源技术路线深度解析

EUV光刻技术的关键瓶颈在于13.5纳米光源的稳定高效获取。主流技术路线从DPP放电等离子体发展为LPP激光等离子体方案,后者通过激光轰击锡液滴实现更高功率输出。新出现的LDP技术综合激光预热与放电优势,虽功率扩展性有限,但为光源技术提供了有益补充。目前LPP仍是唯一通过量产验证的方案,而LDP可能作为过渡技术应用于特定场景。EUV光源的发展实质是能量转化效率与系统可靠性的持续优化过程,各种技术路线的探索共同推动着这一核心工艺的进步。

硬核科技 556

2025年华为杯中国研究生数学建模竞赛E题 高速列车轴承智能故障诊断问题 思路+代码

all_data, file_info = preprocessor.load_mat_files(file_list[:50]) # 加载前50个文件作为示例。[y_source, y_source, domain_labels], # 注意:这里使用伪标签。X_target = np.random.randn(100, X_source.shape[1], 1) # 示例数据。"""构建CNN-Transformer混合模型""""""构建Transformer模型"""

YOLO 1046

【elementUI】el-table树形结构样式修改-gif展示说明 按要求自取即可

element-ui的el-table的树结构默认小图标就是旋转效果,如果你使用非旋转对称图片,他展开之后的效果可能会很奇怪。当然element-ui还提供了很多其他的图标可以选择 只需要修改对应的content就可以。如果没有效果的话建议打开F12的elements查看一下需要修改的元素。当然你也可以按照你需要的修改图标样式。// el-table表格对齐。6. 整合以上所有修改的效果。// 去掉小图标的旋转效果。// 修改展开之后的图标。

qinglp的博客 814

WPF中使用TreeView封装组合控件TreeView+DataGrid

wpf的功能非常强大,很多控件都是原生的,但是要使用TreeView+DataGrid的组合,就需要我们自己去封装实现。功能如上图所示, 目前基本上把常用的样式都实现了,购买源码后,可以自行修改样式。本文源码效果如下,(搞了好几天,的确有难度,所以源码也收费,便宜,赚点辛苦费)第一种:技术的选择是TreeView(也就是本文的演示)。这2个图都是第三方控件自带的,并且都是收费使用。首先说明一下,实现上面的效果,有3种方法。本文演示的是使用TreeView的实现。第二种:技术的选择是DataGrid。

故里2130 1650

解决el-table 树形结构expand 操作后 stripe 显示失效问题

昨天是挫败感较大的一天,因为好久没有真正的精进技术了,事件循环机制 、nextTick 之前条件反射都会想到的问题,昨天竟然被困住了。 问题背景 项目中用到了el-table的树形结构,table 设置了 stripe 栅格属性,但是由于有展开行,展开后table 按照展开后的所有数据进行了栅格设置,但当展开收起时,栅格的设置是没变的,会导致看上去有写地方栅格失效。如下图: 在ElementUI 文档看了el-table 的方法,没有什么可以设置的,项目中用的懒加载,数据也不在tableDa..

Sandy_zhi的博客 3554

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

elementUI中el-table树形结构中折叠符号的位置问题

el-table树形结构中折叠符号的位置问题 1.业务需求: vue项目,权限菜单管理中菜单table的树形结构,一般情况下如果使用的是elementUI那么可以使用里面el-table的树形结构(但是其中有一些坑点还是要注意),当然我们也可以引入外部插件,比如tree-table-vue(这款插件也比较好用,但是如果考虑整个项目的性能的话,外部插件的引用少一点比较好),这里就谈谈el-table的树形结构的使用。 2.问题分析: 我在使用过程中遇到其中一个坑点就是el-table树形折叠符号的位置设

cabinx的博客 4213

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

el-table树形结构修改图标

vue+element开发时,el-table的树形结构,自带的图标不能满足项目需求。需要我们自己修改图标。下图为修改后的样式。

weixin_46369590的博客 2660

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

el-table树形结构自定义图标

这个是我自己从其他地方看过了,为了防止以后找不到做的一篇记录。的树形结构,自带的图标不能满足项目需求。需要我们自己修改图标。vue+element开发时,

lyy521yibeizi的博客 1626

使用element-ui的el-table和el-pagination标签实现表格分页功能以及解决遇到的暂无数据的bug

博主需要在项目中需要使用el-table和el-pagination标签实现表格分页功能,方法如下: el-table标签的data属性是显示的数据,绑定为showTable计算属性 &lt;el-table :data="showTable" :header-cell-style="{background:'#eef1f6',color:'#606266'}" ...

Arlisol的博客 1万+

vue + elementui el-table表头 树形筛选 功能实现

效果图 代码 <template> <el-popover placement="bottom" width="200" trigger="manual" v-model="visible" popper-class="organ-header-popover" > <el-tree :data="data" :props="defaultProps" node-key="value"

Yang_Xingxing_的博客 1668
上一篇: springboot+dynamic多数据源配置
下一篇: sql find_in_set在oracle下的解决方案
默 唁
博客等级 码龄7年 77粉丝 34原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值