当前位置: 首页 > news >正文

el-table合并相同名称的列

el-table合并相同名称的列

<template><el-table:data="tableData":span-method="objectSpanMethod"border><el-table-columnprop="name"label="名称"width="180"></el-table-column><el-table-columnprop="category"label="类别"width="180"></el-table-column><el-table-columnprop="date"label="日期"></el-table-column></el-table>
</template><script>
export default {data() {return {tableData: [{ name: '产品A', category: '电子产品', date: '2023-01-01' },{ name: '产品A', category: '电子产品', date: '2023-01-02' },{ name: '产品A', category: '电子产品', date: '2023-01-03' },{ name: '产品B', category: '办公用品', date: '2023-01-01' },{ name: '产品B', category: '办公用品', date: '2023-01-02' },{ name: '产品C', category: '家居用品', date: '2023-01-01' },{ name: '产品D', category: '体育用品', date: '2023-01-01' },{ name: '产品D', category: '体育用品', date: '2023-01-02' },],// 存储需要合并的行信息spanArr: [],// 当前需要合并的行数position: 0};},mounted() {// 初始化时计算需要合并的行this.getSpanArr(this.tableData);},methods: {// 计算需要合并的行getSpanArr(data) {this.spanArr = [];this.position = 0;for (let i = 0; i < data.length; i++) {if (i === 0) {// 第一行默认需要合并1行this.spanArr.push(1);this.position = 0;} else {// 判断当前行与上一行是否相同if (data[i].name === data[i - 1].name) {// 如果相同,上一行的合并数加1this.spanArr[this.position] += 1;// 当前行合并数为0(被合并)this.spanArr.push(0);} else {// 如果不同,重新开始计算合并数this.spanArr.push(1);this.position = i;}}}},// 合并方法objectSpanMethod({ row, column, rowIndex, columnIndex }) {// 只处理"名称"列的合并if (columnIndex === 0) {const _row = this.spanArr[rowIndex];const _col = _row > 0 ? 1 : 0;return {rowspan: _row,colspan: _col};}}}
};
</script>
http://www.dtcms.com/a/330100.html

相关文章:

  • 朝花夕拾(三)---------中文分词利器jieba库的详解与实战应用(python)
  • 洛谷 小 Y 拼木棒 贪心
  • 函数对象(仿函数)适配器
  • 《量子雷达》第2章 从量子信息到量子雷达 预习2025.8.13
  • 工业视觉检测中的常见的四种打光方式
  • Java 导出word 实现表格内插入图表(柱状图、折线图、饼状图)--可编辑数据
  • java反射与泛型的简单知识和应用
  • 【KO】Android 网络相关面试题
  • 326. 3 的幂
  • 不用费心备份操作的实验记录本
  • VUE基础笔记
  • 【AI学习100天】Day07 加入AI社区,通往AGI之路
  • C# 反射和特性(获取Type对象)
  • 【C#】利用数组实现大数数据结构
  • Spring Cloud系列— Alibaba Sentinel限流
  • Pycharm现有conda环境有对应env,但是添加后没反应
  • 《人形机器人的觉醒:技术革命与碳基未来》——生物混合肌肉:技术原理和进展、比较优势和不足、材料技术要求及材料限制
  • 递归函数与 lambda 函数:用法详解与实践
  • Synchronized锁的使用方式
  • three.js学习记录(鼠标控制)
  • Linux 计划任务
  • 【web站点安全开发】任务3:网页开发的骨架HTML与美容术CSS
  • STM32学习笔记10—DMA
  • JSON索引香港VPS:高效数据处理的完美解决方案
  • JDK17下载与安装图文教程(保姆级教程)
  • 《汇编语言:基于X86处理器》第13章 复习题和编程练习
  • VerIF
  • 【R语言】RStudio 中的 Source on Save、Run、Source 辨析
  • [系统架构设计师]系统架构基础知识(一)
  • MySQL表约束