<el-table> 把表格内同一列相同的数据合并为一行

2024-08-30 18:28

本文主要是介绍<el-table> 把表格内同一列相同的数据合并为一行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<el-table> 把表格内同一列相同的数据合并为一行

具体效果如下图:

具体效果如图

参考代码(可直接运行):


<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="https://unpkg.com/vue@3"></script><!-- import CSS --><link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css"><!-- import JavaScript --><script src="https://unpkg.com/element-plus"></script><title>合并行或列</title>
</head>
<body>
<div id="view_table_merge_columns" class="common-layout"><el-table:data="tableData":span-method="objectSpanMethod"borderstripestyle="width: 100%":header-cell-style="{ textAlign: 'center', 'background-color': '#F5F7FA', }":cell-style="{ textAlign: 'center' }"><el-table-column prop="id" label="编号"></el-table-column><el-table-column prop="first" label="一级标题"></el-table-column><el-table-column prop="second" label="二级标题"></el-table-column><el-table-column prop="third" label="三级标题"></el-table-column><el-table-column prop="outcome" label="结果"></el-table-column></el-table>
</div>
<script>const App = {data() {return {// 需要合并的列needToMergeColumns: ['first', 'second', 'third'],// 列表数据tableData: [{id: '101',first: '第一单元',second: '第一课',third: '问题一',outcome: 10,},{id: '102',first: '第一单元',second: '第二课',third: '问题一',outcome: 10,},{id: '103',first: '第一单元',second: '第二课',third: '问题二',outcome: 10,}, {id: '104',first: '第二单元',second: '第一课',third: '问题一',outcome: 10,},{id: '105',first: '第二单元',second: '第一课',third: '问题二',outcome: 9,},{id: '106',first: '第三单元',second: '第一课',third: '问题一',outcome: 5,},],};},methods: {// 同一列内合并值相同行 (当前行 row、当前列 column、当前行号 rowIndex、当前列号 columnIndex 四个属性)objectSpanMethod({row, column, rowIndex, columnIndex}) {console.log(row);console.log(column);console.log(rowIndex, columnIndex);if (this.needToMergeColumns.indexOf(column.property) !== -1) {// 获取当前单元格的值const currentValue = row[column.property];// 获取上一行相同列的值const preRow = this.tableData[rowIndex - 1];const preValue = preRow ? preRow[column.property] : null;// 如果当前值和上一行的值相同,则将当前单元格隐藏if (currentValue === preValue) {return {'rowspan': 0, 'colspan': 0};} else {// 否则计算当前单元格应该跨越多少行let rowspan = 1;for (let i = rowIndex + 1; i < this.tableData.length; i++) {const nextRow = this.tableData[i];const nextValue = nextRow[column.property];if (nextValue === currentValue) {rowspan++;} else {break;}}return {'rowspan': rowspan, 'colspan': 1};}}}}};const app = Vue.createApp(App);app.use(ElementPlus);app.mount("#view_table_merge_columns");
</script>
</body>
</html>

这篇关于<el-table> 把表格内同一列相同的数据合并为一行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或