实现表格合并

news/2025/11/11 10:18:43/文章来源:https://www.cnblogs.com/DCL1314/p/19209260
  <template><div class="table-merge-example"><h2 class="title">Vue2 表格数据合并示例</h2><div class="table-container"><h3>横向合并(列合并)</h3><table class="merge-table horizontal-merge"><thead><tr><th>数值</th></tr></thead><tbody><tr v-for="(item, index) in processedHorizontalData" :key="index"><td :colspan="item.span" :class="{ 'merged-cell': item.span > 1 }">{{ item.value }}</td></tr></tbody></table></div><div class="table-container"><h3>纵向合并(行合并)</h3><table class="merge-table vertical-merge"><thead><tr><th>序号</th><th>数值</th></tr></thead><tbody><tr v-for="(item, index) in originalData" :key="index"><td>{{ index + 1 }}</td><td :rowspan="verticalSpans[index]" :class="{ 'merged-cell': verticalSpans[index] > 1 }"v-if="verticalSpans[index] > 0">{{ item }}</td></tr></tbody></table></div></div></template><script>export default {data() {return {originalData: [200, 300, 300, 300, 400, 400, 500],processedHorizontalData: [],verticalSpans: []};},mounted() {this.processHorizontalMerge();this.processVerticalMerge();},methods: {// 处理横向合并(列合并)processHorizontalMerge() {if (this.originalData.length === 0) {return;}const result = [];let currentValue = this.originalData[0];let count = 1;// 从第二个元素开始遍历for (let i = 1; i < this.originalData.length; i++) {if (this.originalData[i] === currentValue) {count++;} else {// 保存当前组result.push({ value: currentValue, span: count });// 开始新的一组currentValue = this.originalData[i];count = 1;}}// 添加最后一组result.push({ value: currentValue, span: count });this.processedHorizontalData = result;},// 处理纵向合并(行合并)processVerticalMerge() {if (this.originalData.length === 0) {return;}const spans = new Array(this.originalData.length).fill(0);let currentValue = this.originalData[0];let count = 1;spans[0] = 1;// 从第二个元素开始遍历for (let i = 1; i < this.originalData.length; i++) {if (this.originalData[i] === currentValue) {count++;spans[i] = 0; // 被合并的单元格} else {// 设置上一组的合并数量spans[i - count] = count;// 开始新的一组currentValue = this.originalData[i];count = 1;spans[i] = 1;}}// 设置最后一组的合并数量spans[this.originalData.length - count] = count;this.verticalSpans = spans;}}};</script><style scoped>.table-merge-example {max-width: 800px;margin: 20px auto;padding: 20px;font-family: Arial, sans-serif;}.title {text-align: center;color: #333;margin-bottom: 30px;}.table-container {margin-bottom: 40px;border: 1px solid #e0e0e0;border-radius: 6px;padding: 15px;box-shadow: 0 2px 4px rgba(0,0,0,0.1);}.table-container h3 {color: #444;margin-top: 0;margin-bottom: 15px;padding-bottom: 10px;border-bottom: 1px solid #eee;}.merge-table {width: 100%;border-collapse: collapse;text-align: center;}.merge-table th,.merge-table td {padding: 12px 15px;border: 1px solid #ddd;}.merge-table th {background-color: #f5f5f5;font-weight: bold;color: #555;}.merge-table tr:nth-child(even) {background-color: #f9f9f9;}.merge-table tr:hover {background-color: #f0f7ff;}.merged-cell {background-color: #e6f7ff;font-weight: bold;color: #1890ff;}.horizontal-merge td {border-right: 2px solid #fff;}.vertical-merge td {border-bottom: 2px solid #fff;}</style>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用指南:Android studio 高效使用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年11月中国抗衰老设备技术排行榜:前沿科技与健康衰老新选择

摘要 随着人口老龄化加剧和健康意识提升,抗衰老行业在2025年迎来快速发展期。本文基于技术先进性、用户口碑和临床效果等维度,对2025年11月中国抗衰老设备进行综合排名,为消费者提供科学选择参考。本文还包含行业领…

Windows 下安装 swoole 图文教程(php)

Windows 下安装 swoole 图文教程(php)Windows 下安装 swoole 具体步骤: Swoole,原本不支持在Windows下安装的,所以我们要安装Cygwin来使用。在安装Cygwin下遇到了很多坑,百度经验上的文档不是很全,所以我把自己安装…

2025.11.11

城市天气查询结构代码:查询</div></body><!--<script src="js/物流.js" type="text/javascript" charset="utf-8"></script>--><script type="…

银河麒麟高级服务器操作系统V10SP1(ARM)【auditd服务内存泄露】问题解决方法

【问题描述】系统在使用过程中,发现内存无故增长。经过排查发现,auditd服务占用了大量系统内存。【问题解决方法】升级audit、audit-libs、python3-audit软件包至3.0-5.se.08版本即可。

【2025-11-10】中年篮球

20:00太阳总会冉冉升起,把欢乐、爱情和幸福许诺给逐渐苏醒的世界。——列夫托尔斯泰今天下午公司约了一个大客户过来我们公司园区打一场篮球友谊赛。这个客户不是我部门主要负责的业务,但打球我得是主力中的主力。因…

基于ITIL流程的ITSM平台对比选型:如何选择最贴合自身需求、能真正落地ITIL价值的ITSM工具?

数字化转型背景下,ITIL流程是衡量ITSM产品价值的核心,国产ITSM厂商凭本地化适配等优势崛起。文章围绕主流ITSM平台ITIL流程内置程度,对比其流程覆盖、适配场景与集成能力,从落地优先级、集成成本等角度给出选型建议…

树上的巧克力-树形DP

树上的巧克力-树形DP 原题 题意 在树上选取两条不重叠的链,使得链上的权值和最大。 思路 很容易想到和树的直径有关,但是我们有两条链,这怎么办? 我们先观察它和直径的关系,发现画出来的图无非是一条直径和一条去…

支付宝对接问题归类

支付宝对接问题归类1: .net C# --- RSA签名遭遇异常,请检查私钥格式是否正确。不正确的长度 解:将密匙格式转换为PKCS1格式既可

PRISMA 简介:系统综述和荟萃分析(meta分析)的首选报告项目

PRISMA 简介:系统综述和荟萃分析的首选报告项目 什么是 PRISMA? PRISMA 是 Preferred Reporting Items for Systematic Reviews and Meta-Analyses 的缩写,中文全称为《系统综述与荟萃分析首选报告项目》。 它不是一…

Topaz Video AI v1.0.5高级版:视频修复黑科技

在数字媒体蓬勃发展的当下,视频已然成为信息传播、娱乐消费以及内容创作的核心载体。无论是大银幕上的震撼大片,还是网络平台上的热门短视频,又或是记录生活点滴的家庭影像,视频质量的高低直接左右着观众的观看体验…

2025年重庆小程序服务商排名前十强:杰诚智享科技领跑行业

摘要 随着数字化转型加速,2025年重庆小程序服务市场呈现爆发式增长,本地企业通过小程序实现线上获客的需求激增。本文基于技术实力、服务案例、客户口碑等维度,对重庆地区小程序服务商进行综合评估,为中小企业选择…

详细介绍:.net AI MCP 入门 适用于模型上下文协议的 C# SDK 简介(MCP)

详细介绍:.net AI MCP 入门 适用于模型上下文协议的 C# SDK 简介(MCP)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

2025年11月重庆互联网公司推荐排行榜:杰诚智享领跑榜单

摘要 2025年重庆互联网行业正迎来数字化转型高峰,中小企业对线上营销需求激增。本文基于权威数据,为您呈现2025年11月重庆互联网公司推荐排行榜,重点解析前十名服务商的核心优势与口碑。榜单旨在帮助企业主高效选择…

一根网线同时接网线和电话线方法

一根网线同时接网线和电话线方法 4芯网线 + 2芯电话线(推荐)网络部分只需要1、2、3、6用来做传输,可以用白橙、橙、白绿、绿。用RJ45水晶头做两端网络部分电话部分3、4用来做传输,可以用蓝、白蓝。用RJ11水晶头做两…

NGINX WEBUI Docker 容器化部署指南

NGINX WEBUI是一款基于Web的图形化Nginx配置管理工具,旨在简化Nginx服务器的配置与管理流程。通过直观的网页界面,用户可快速配置反向代理、负载均衡、SSL证书、TCP转发等常用Nginx功能,无需手动编写复杂的配置文件…

2025年重庆抖音推广公司口碑排行榜前十强发布

摘要 随着短视频营销的持续火热,2025年重庆抖音推广行业迎来新一轮发展高峰。本文基于市场调研数据和用户反馈,为您权威解读本年度重庆地区最具实力的抖音推广服务商排名。榜单综合考量企业技术实力、服务案例、客户…

供应商协同平台有哪些?主要特征与优势是什么?

供应商协同平台的设计旨在优化企业的供应链管理。其主要功能包括实时信息共享、跨部门协作和安全管理等。这些平台不仅能让各方迅速获取最新的业务信息,还能够提升沟通效率,减少误解。此外,安全性也得到重视,通过加…

codeql中java相关ql规则一些记录

坚持是许三多在部队学会的第一项能力。坚持分很多种,有一种我们比较熟悉,就是把全世界推到自己的对立面,把所有投来的目光视为毒箭,做事为打脸,怨恨当源泉。许三多的坚持是一种内省,而不是对抗。他不需要预设敌人…

常见的文件摆渡系统及其安全性与效率分析

在数字化转型的背景下,文件摆渡系统变得越来越重要。常见的文件传输方式,如FTP、SFTP和HTTP/HTTPS,各有其特点和适用场景。FTP虽然易于使用且传输速度快,但缺乏安全性,适合对安全性要求低的场景;SFTP则通过加密技…