实现功能:

1.表单一键展开或者一键折叠

2.表单点击展开一部分后,再次点击展开或折叠按钮可以全部展开或全部折叠

3.完整代码在最后

1.建立el-table的树形结构

1.ref="table",用节点绑定的方式实现

2.data:树形结构数据

3.:tree-props="{ children: 'child', hasChildren: 'hasChildren' }",中的children就是自动判断data中有没有叫child的子结构,如果有就填充

4.row-key="id",唯一值,必须要

5.stripe,斑马纹的表格

<el-table ref="table" :data="listData" :tree-props="{ children: 'child', hasChildren: 'hasChildren' }" row-key="id" stripe>
<el-table-column prop="name"></el-table-column>
</el-table>

2.data数据

基本树结构就完成了

            listData: [{id: 1,name: '张三',age: 20,child: [{ id: 11, name: '子行1', age: 5 },{ id: 12, name: '子行2', age: 8 }]},{id: 2,name: '李四',age: 25,child: [{ id: 4, name: '子行1', age: 5 },{ id: 5, name: '子行2', age: 8 }]},{id: 3,name: '王五',age: 30,child: [{ id: 6, name: '子行1', age: 5 },{ id: 7, name: '子行2', age: 8 }]},{id: 5,name: '翠花',age: 30}],

3.添加俩个按钮,展开和折叠

toggleRowExpansion:用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开与否(第一个参数为 true 则展开)

使用递归的方式进行展开折叠操作

<el-button size="mini" @click.native="openTable('open')">一键展开</el-button>
<el-button size="mini" @click.native="openTable('fold')">折叠</el-button>
           isOpen: falseopenTable(str) {if (str == 'open') {this.isOpen = true;} else {this.isOpen = false;}this.$nextTick(() => {this.handleArr(this.listData, this.isOpen);});},handleArr(arr, flag) {arr.forEach(i => {this.$refs.table.toggleRowExpansion(i, flag);if (i.children) {this.handleArr(i.children);}});}

4.效果

5.完整代码

<template><div class="content-box"><div class="container"><p>主体页面 2 - 3</p><el-button size="mini" @click.native="openTable('open')">一键展开</el-button><el-button size="mini" @click.native="openTable('fold')">折叠</el-button><el-table ref="table" :data="listData" :tree-props="{ children: 'child', hasChildren: 'hasChildren' }" row-key="id" stripe><el-table-column prop="name"></el-table-column></el-table></div></div>
</template><script>
export default {data() {return {listData: [{id: 1,name: '张三',age: 20,child: [{ id: 11, name: '子行1', age: 5 },{ id: 12, name: '子行2', age: 8 }]},{id: 2,name: '李四',age: 25,child: [{ id: 4, name: '子行1', age: 5 },{ id: 5, name: '子行2', age: 8 }]},{id: 3,name: '王五',age: 30,child: [{ id: 6, name: '子行1', age: 5 },{ id: 7, name: '子行2', age: 8 }]},{id: 5,name: '翠花',age: 30}],isOpen: false};},methods: {openTable(str) {if (str == 'open') {this.isOpen = true;} else {this.isOpen = false;}this.$nextTick(() => {this.handleArr(this.listData, this.isOpen);});},handleArr(arr, flag) {arr.forEach(i => {this.$refs.table.toggleRowExpansion(i, flag);if (i.children) {this.handleArr(i.children);}});}}
};
</script><style lang="scss">
.customize-carousel .el-carousel__item h3 {color: #475669;font-size: 16px;line-height: 150px;margin: 0 50%;
}
.customize-carousel .el-carousel__item:nth-child(2n) {background-color: #99a9bf;
}
.customize-carousel .el-carousel__item:nth-child(2n + 1) {background-color: #d3dce6;
}
</style>

文章到此结束,希望对你有所帮助~

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

  1. Antd Vue 组件库之Table表单

    Antd Vue 组件库之Table表单 Table 表格 展示行列数据. 何时使用 当有大量结构化的数据需要展现时: 当需要对数据进行排序.搜索.分页.自定义操作等复杂行为时. 如何使用 指定表格的 ...

  2. HTML table表单colspan和rowspan行列使用方法

    HTML中的table表单元素colspan和rowspan表示表格跨行或者跨列,colspan和rowspan用于将行或者列合并,码笔记分享 table表单colspan和rowspan详细用法: ...

  3. ajax核心代码提交,ajax表单在Asp.net核心提交后的RedirectToAction

    我有一个名为Index的视图和一个名为'_Addbook'的PartialView,它显示为引导模式.在partialView中使用ajax表单将数据插入到数据库中.ajax表单在Asp.net核心提 ...

  4. Html利用函数输入学生的性别,JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)...

    JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证) 发布时间:2020-10-08 04:15:08 来源:脚本之家 阅读:73 作者:水山奇 问题:表单怎么在输入后 ...

  5. JSP简单练习-EL获取表单数据

    输入用户名和密码的界面: <%@ page language="java" contentType="text/html;charset=gb2312" ...

  6. 序列化table表单

    对序列化表单稍微做一个小结.序列化表单值的结果是输出以数组形式.serializeArray() 方法通过序列化表单值来创建对象数组(名称和值),返回 JSON 数据结构数据.此方法返回的是 JSON ...

  7. php table表单下载,GitHub - Zerolone/auto: 用php生成表格、表单 phh create form table

    auto form 用php生成表格.表单 php create form grid 想要实现的效果 通过php生成html表单 表格 info use php to create form grid ...

  8. form 表单字段 autocomplete 设置为off 后仍然无效的解决方法

    autocomplete属性是表单字段中的HTML5新属性,该属性有两种状态值,分别为"on" 和 "off",该属性可省略:省略属性值后默认值为"o ...

  9. html表单记住密码按钮,js form表单提交,浏览器记住密码后自动填充

    1.场景描述 用form表单实现的页面搜索,第一次搜索点击提交之后手机浏览器会提示保存用户名和密码,点了保存之后,再次进入这个页面这些值会直接在页面上,将input的值删除之后,点击搜索提交之后这些值 ...

  10. HTML 去调table表单里面td之间的间距

    首先为大家展示一下最原始的代码和效果.直接在table中用td划分的表格会默认隐藏边框. 接下来我们用css来增加样式,为table增加边框. table { border: 1px solid #8 ...

最新文章

  1. 电机贴上锡纸到底有没有作用?
  2. evga x58服务器芯片组,为六核980X而生 EVGA发布X58 FTW3主板
  3. python爬取js加载的数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...
  4. 太强了!用动图演示NLP中的自监督表示学习
  5. C语言递归算法将十进制转换为二进制(附完整源码)
  6. Windows域的管理
  7. [转载]当代中国建筑设计百家名院名单
  8. java使用教程——组件及事件处理——菜单(添加图标)
  9. linux分区label,label英文什么意思单词讲解(Linux中为一个分区设定label)
  10. python的开发环境包括_下搭建 Python 开发环境
  11. PCA(主成分分析)的工作原理
  12. Linux哈希表数组,开地址哈希表(Hash Table)的接口定义与实现分析
  13. Jmeter(GUI模式)教程
  14. 看完知乎轮子哥的编程之路,我只想说,收下我的膝盖。。。
  15. Mac密码管理——忘记了Mac开机密码怎么办?如何找回或者重置密码?
  16. strlen源码分析
  17. 微信小程序 display: flex 与inline-flex的区别以及应用
  18. java内部错误2203,win7系统安装Java出现"内部错误2203"问题的解决方法
  19. 我来侃手机--连载二之四十岁的女人,风韵犹存
  20. 25 个精美的手机网站模板

热门文章

  1. python爬虫之pyquary详解
  2. DSP中由C转成C++出现编译 badly formed pragma错误的解决.
  3. 用 Python 写一副春联福字,把最好的祝福,送给重要的人
  4. 适用于eclipse的二维图形面积和周长计算器
  5. 智能耳机究竟是智能还是智障
  6. 微信小程序分享带参数
  7. 容易读错的常见常用字
  8. 【C++初阶7-string实现】xxx坐享其成,xxx苦不堪言
  9. 手机开发平台指南、教程和资料介绍(修改稿)
  10. Wwise入门和实战