vue3、Ant Design Vue表格组件单元格行合并

效果如下图所示,只合并相邻相同行在这里插入图片描述

列表数据: 0不显示 1独占一行 其它如3合并3行

export const columns: BasicColumn[] = [{title: '用途层级1',align: 'center',width: 100,dataIndex: 'useLevel1',customCell: (record, index, column) => {return { rowSpan: record.useLevel1Rowspan ?? 1 };},},{title: '用途层级2',align: 'center',width: 100,dataIndex: 'useLevel2',customCell: (record, index, column) => {return { rowSpan: record.useLevel2Rowspan ?? 1 };},},{title: '用途层级3',align: 'center',width: 100,dataIndex: 'useLevel3',customCell: (record, index, column) => {return { rowSpan: record.useLevel3Rowspan ?? 1 };},},{title: '用途层级4',align: 'center',width: 100,dataIndex: 'useLevel4',customCell: (record, index, column) => {return { rowSpan: record.useLevel4Rowspan ?? 1 };},},{title: '能源类别',align: 'center',width: 100,dataIndex: 'energyType',}]

组件内使用

  import { columns } from './jsfile.data';let newTableData = reactive([]);// 是否已经合并防止重复监听let isMerge = ref(false);// 需要合并的属性列const needTomergeColumnsIndex = ['useLevel1', 'useLevel2', 'useLevel3', 'useLevel4'];// 监听表格数据watch(tableDataSource, async (newTableDataSource) => {if (newTableDataSource && newTableDataSource.length > 1 && !isMerge.value) {let tableData = newTableDataSource;isMerge.value = true;// 遍历需要合并的属性列await needTomergeColumnsIndex.forEach((columnDataIndex) => {// 存储结果和计算每个属性的出现次数。const dynamicVariables = {};// 属性的Rowspan,分别表示该对象在需要合并列属性上的rowspan 值const variableName = columnDataIndex + 'Rowspan';// 计算每个属性的 rowspantableData.forEach((item, index) => {dynamicVariables[variableName] = 0;if (tableData[index - 1] && item[columnDataIndex] === tableData[index - 1][columnDataIndex]) {dynamicVariables[variableName] = 0;} else {for (let i = index; i < tableData.length; i++) {if (tableData[i][columnDataIndex] === item[columnDataIndex]) {dynamicVariables[variableName]++;} else {break;}}}item[variableName] = dynamicVariables[variableName];});console.log(tableData);});// 表格赋具有合并属性的新值newTableData = tableData;}});

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

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

相关文章

SPI协议介绍

文章目录 一、硬件连线二、引脚含义三、传输示例四、传输模式 一、硬件连线 二、引脚含义 引脚含义DO&#xff08;MOSI - Master Output Slave Input&#xff09;主机发数据&#xff0c;从机收数据DI&#xff08;MISO - Master Input Slave Output&#xff09;主机收数据&…

移动通信原理与关键技术学习(4)

1.小尺度衰落 Small-Scale Fading 由于收到的信号是由通过不同的多径到达的信号的总和&#xff0c;接收信号的增强有一定的减小。 小尺度衰落的特点&#xff1a; 信号强度在很小的传播距离或时间间隔内的快速变化&#xff1b;不同多径信号多普勒频移引起的随机调频&#xff…

2023年山东省职业院校技能大赛高职组信息安全管理与评估 理论题(正式赛)

2023年山东省职业院校技能大赛高职组信息安全管理与评估 理论题 理论技能与职业素养&#xff08;100分&#xff09; 2023年山东省职业院校技能大赛高职组信息安全管理与评估 理论题 【注意事项】 Geek极安云科专注技能竞赛技术提升&#xff0c;基于各大赛项提供全面的系统性…

nuxt pm2配置及使用

pm2简介 pm2是一个进程管理工具,可以用它来管理node进程&#xff0c;并查看node进程的状态&#xff0c;当然也支持性能监控&#xff0c;进程守护&#xff0c;负载均衡等功能&#xff0c;在前端和nodejs的世界中用的很多 pm2安装 安装pm2: $ npm install -g pm2查看pm2的安装…

Queue接口分析

一、Queue是什么 该接口是Java集合框架成员 Queue&#xff1a; 通常&#xff08;但不一定&#xff09;队列就是一个先入先出&#xff08;FIFO&#xff09;的数据结构&#xff0c;和堆一样&#xff08;但可以进行转换&#xff0c;比如优先级列队排序&#xff0c;又或者改为栈形…

基于ssm运动会管理系统的设计与实现 【附源码】

基于ssm运动会管理系统的设计与实现 【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuil…

从密码认证到 Passkey 无密码,告别传统密码时代

2022 年“终结密码”被《麻省理工科技评论》评为“十大突破性技术”&#xff0c;与之并列的包括新冠口服药、实用型聚变反应堆等。“终结密码”作为身份管理领域的核心技术挑战&#xff0c;是信息化建设及网络安全中不可忽视的重要部分。密码作为一种安全防护手段&#xff0c;正…

Python bool布尔类型

Python 提供了 bool 类型来表示真&#xff08;对&#xff09;或假&#xff08;错&#xff09;&#xff0c;比如常见的5 > 3比较算式&#xff0c;这个是正确的&#xff0c;在程序世界里称之为真&#xff08;对&#xff09;&#xff0c;Python 使用 True 来代表&#xff1b;再…

彻底关闭win10的自动更新Update

停止更新服务 任务管理器中search windows update&#xff0c;停止服务&#xff0c;以及禁止恢复里面的action 停止任务计划 computer 右键 电脑管理&#xff0c;停止全部工作计划。

docker一键安装

1.把docker_compose_install文件夹放在任意路径&#xff1b; 2.chmod -R 777 install.sh 3.执行./install.sh 兼容&#xff1a;CentOS7.6、麒麟V10服务器版、统信UOS等操作系统。 下载地址&#xff08;本人上传&#xff0c;免积分下载&#xff09;&#xff1a;https://downlo…

VMware vSphere运维管理手册

适用版本:VMware vSphere 7.0 VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 ![[Pasted image 20231212132…

认识Linux指令之与时间相关的指令

01.date命令 date 指定格式显示时间&#xff1a; date %Y:%m:%d date 用法&#xff1a;date [OPTION]... [FORMAT] 1.在显示方面 在显示方面&#xff0c;使用者可以设定欲显示的格式&#xff0c;格式设定为一个加号后接数个标记&#xff0c;其中常用的标记列表如下 %H : …