于极迷处识迷 则处处醒,将难放怀一放 则万境宽。

目录

一、el-table展开行(基础 可跳过)

1. 展示tag信息

2. 实现添加功能

问题:

二、控制el-table展开行(核心)

1.expand-row-keys

2.在添加时更新expands


效果比较:

修改前:刷新表格,展开行消失  ==>   修改后:刷新表格,保存当前操作展开行。


一、el-table展开行(基础 可跳过)

参考element UI:Element - The world's most popular Vue UI framework

通过设置 type="expand" 和 Scoped slot 可以开启展开行功能,el-table-column 的模板会被渲染成为展开行的内容,展开行可访问的属性与使用自定义列模板时的 Scoped slot 相同。

1. 展示tag信息

效果:每行组合数据展示包含的产品名称信息。后端返回的数据结构如下:

<el-table v-loading="loading" stripe :data="groupList"><el-table-column type="expand" prop="productData"><template slot-scope="scope"><div class="tag-content"><divclass="tag-item":key="tag.prdtName"v-for="tag in scope.row.productData"><el-tag closable style="margin: auto" type="danger">{{tag.prdtName}}</el-tag></div></div></template></el-table-column><el-table-column label="序号" prop="index" width="55"><template slot-scope="scope"><span>{{ scope.$index + 1 }}</span></template></el-table-column><el-table-column label="组合编号" align="center" prop="groupCode" /><el-table-column label="组合名称" align="center" prop="groupName" /><el-table-column label="产品个数" align="center" prop="productNum" />
</el-table>

至此可以完成全部tags的展示,且满足样式要求一行只展示三个。

.tag-item {width: 33%;margin-bottom: 10px;display: flex;justify-content: center;
}

2. 实现添加功能

只需要在刚才代码的后面添加tag实现新增功能即可

<div class="tag-item"><el-buttonclass="button-new-tag"size="small"@click="AddProduct(scope.row)">+ 新产品</el-button>
</div>

addProduct()函数中主要:显示dialog==> 清空弹框form表单

问题:

功能已经实现,但是每次操作之后el-table的展开行都关闭了这样用户体验很不友好。这是el-table不是很友好的地方,每次页面刷新都会默认关闭所有的行。

希望:对于每次展开行的操作,操作之后该行继续展开。


二、控制el-table展开行

1.expand-row-keys

expand-row-keys: 可以通过该属性设置 Table 目前的展开行,需要设置 row-key 属性才能使用,该属性为展开行的 keys 数组。

实现思路:创建一个expends数组,用于存储展开的keys。每次点击添加时,将该行的id存放进去。

只需要给table添加如下两行代码

 row-key="id"
:expand-row-keys="expands"

2.在添加时更新expands

在AddProduct()时记录下当前的行id

// 添加产品对话框AddProduct(row) {this.open = true;this.groupId = row.id;// 表格置空this.form = {};// console.log(this.expands, "[[[[[[expends]]]]]]]]]");this.expands = [];this.expands.push(row.id);// console.log(this.expands, "[[[[[[expends]]]]]]]]]");
},

当然expends可以记录数组,以上只希望记录并保存选中添加行的展开状态。可以根据需要进行修改。

【ElementUI优化】el-table展开行 ==> :expand-row-keys=“expands“ 刷新表格,保存当前操作展开行相关推荐

  1. elementui的table展开行显示另一关联子table表的数据

    需求:主表table可实现展开行显示关联子table的列表数据​ <div class="table-box"><el-tableref="enquir ...

  2. element table 展开行 自定义展开方式与触发方式

    element官网并没有给我们自定义table行展开的自定义方式与自定义展开按钮,所以只能自己通过一些其他方法达到这个需求 直接上代码 <el-table ref="tableRef& ...

  3. Web前端-Vue ElementUI点击Table 索引行获取index处理

    需求:在table中row行 index = 0 ,作为区头,数据字符展示 "--" 参考组件  Element - The world's most popular Vue UI ...

  4. ElementUI table标签展开行

    一.概述 当行内容过多并且不想显示横向滚动条时,可以使用 Table 展开行功能. 官方示例: test.vue <template><el-table:data="tab ...

  5. html表格展开明细,Element-ui的Table表格展开行功能

    业务需要表格能够展开某一行,但组件中只能展开所有行,或者用table的树形数据(row 中需包含 children字段),可以通过控制 row-class-name来定义表格中需要展开的行. 通过设置 ...

  6. table多行表头合并 vue_vue elementUI table 自定义表头和行合并的实例代码

    最近项目中做表格比较多,对element表格的使用,只需要传递进去数据,然后写死表头即可渲染. 但现实中应用中,如果写死表头,并且每个组件中写自己的表格,不仅浪费时间而且消耗性能.这个时候需要动态渲染 ...

  7. react-antd table树形数据默认展开行实现以及自定义图标实现及踩坑(defaultExpandedRowKeys,expandedRowKeys)

    前言: 最近在做一个权限管理的后台项目,经常涉及到树形数据展示,就用到了antd,table表格树形数据组件.记录一下使用过程的坑. 环境及配置: antd -3.23.6(大版本为antd 3)   ...

  8. 【elementUI】el-table 展开行默认关闭或打开

    第一种方式: 使用 :default-expand-all="isExpand" 优点:方便,简单,页面初始化的时候给 delfault-expand-all 赋值展开或关闭 缺点 ...

  9. 【ElementUI】el-table 多表格切换 导致 expands 展开行仍然会保留的问题(多表格切换时的表格渲染错乱)

    首先先叙述一下需求和遇到的问题: 需求: 在这个页面里,我需要去判断查询条件,从而在不同的条件下,展示不同的表格数据,即在不同情况下,展示不同的表格或者说表格的数据列,从而在不同的条件下看到不同的表格 ...

最新文章

  1. 测试驱动开发 测试前移_测试驱动开发简介
  2. nginx主配置文件 在那找怎么打开
  3. qt web混合编程_QT做界面真是绝美,并且还可嵌入HTML与JS做界面(许多案例)
  4. 求两数最大公约数,最小公倍数-Java
  5. 使用NW.js封装微信公众号菜单编辑器为桌面应用
  6. Java集合(四):Map映射
  7. 在JavaScript中反转字符串的三种方法
  8. Cygwin 的代理设置(同 Linux)
  9. 深入理解异步Web服务器 Tornado
  10. linux安装vmwareTools
  11. 三、MQTT Windosw下的 进一步调试
  12. 记录一次面试中的HTTP请求相关问题
  13. angular学习疑问总结
  14. 时隔三月,再次向你推荐这款公文排版插件
  15. 计算方法(数值分析)实验:勒让德多项式求展开的三次平方逼近多项式代码实现 java
  16. mysql 求订单总金额,MySQL查询 每年 每月 每日 订单数和订单金额
  17. 为了编程梦想,重新审视自己,开始出发。
  18. 极光 短信验证出现403
  19. 饭卡可以用水冲洗吗_大学校园内,宿舍同学共用饭卡水卡,吃亏的是哪一方?...
  20. 快速入门:LINUX基础 ——教你使用 linux 操作

热门文章

  1. 海洋气象数据可视化,以流场的方式显示风场图,海洋气象API使用
  2. mix2线刷开发板救砖_小米MIX 2(Mix 2)一键救砖教程,轻松刷回官方系统
  3. 中兴服务器电源 ppc22,中兴ZXDU68B201技术参数报价中兴48v高频嵌入式电源
  4. 抖音小店无货源怎么发货?我们常用什么方法?具体怎么操作?
  5. java中ajax的用途_AJAX的主要用途是什么?
  6. Spark 去掉前几行 去掉表头
  7. 促进创新成果高质量发展,华秋“戴上举劳模和工匠人才创新工作室”成立!
  8. matlab | imshow坐标问题
  9. Matlab实现 通过检测QR二维码位置探测图案进行精确定位
  10. 使用AS引入aar包冲突问题解决,Duplicate class xxx found in modules bbb.jar (:bbb:) and bbb.jar (bbb.jar)