Vue3 el-table 如何动态合并单元格的行与列

1. 单元格合并列:

const setTableColumnSpan = (tableData: any,fieldArr: any,effectRows: Array<number>
) => {tableData.forEach((item: any, index: any) => {if (effectRows.includes(index)) {let lastField = "";let lastColspan = "";fieldArr.forEach((field: any) => {const colspan = `colspan_${field}`;if (item[field] === item[lastField]) {item[colspan] = 0;item[lastColspan] += 1;} else {item[colspan] = 1;lastColspan = colspan;lastField = field;}});}});
};

2. 单元格合并行:

const setTabelRowSpan = (tableData: any, fieldArr: any, effectMerge = {}) => {let lastItem = {};fieldArr.forEach((field: any, index: any) => {let judgeArr = fieldArr.slice(0, index + 1);if (effectMerge[field]) {judgeArr = [...effectMerge[field], field];}tableData.forEach((item: any) => {item.mergeCell = fieldArr;const rowSpan = `rowspan_${field}`;if (judgeArr.every((e: any) => lastItem[e] === item[e] && item[e] !== "")) {item[rowSpan] = 0;lastItem[rowSpan] += 1;} else {item[rowSpan] = 1;lastItem = item;}});});
};

3. 执行调用合并:

const executeMerge = (data: any) => {let effectRows = [0];let fieldArr = ["ID", "columnTitle1", "columnTitle2", "columnTitle3"].concat(titleList.value); //全部字段let RowfieldArr = ["columnTitle1", "columnTitle2"];setTableColumnSpan(data, fieldArr, effectRows); // (表格数据,表格字段,合并列setTabelRowSpan(data, RowfieldArr);
};const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {if (effectRows.includes(rowIndex)) {const colspan = row[`colspan_${column.property}`];if (colspan) {return { rowspan: 1, colspan: colspan };} else {return { rowspan: 0, colspan: 0 };}}if (row.mergeCell.includes(column.property)) {const rowspan = row[`rowspan_${column.property}`];if (rowspan) {return { rowspan: rowspan, colspan: 1 };} else {return { rowspan: 0, colspan: 0 };}}
};

4. 方法

        <el-table:data="schedulTable":span-method="objectSpanMethod":show-header="false"border></ el-table

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

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

相关文章

c++ 学习first day

STL map string http://t.csdnimg.cn/H8dhK http://t.csdnimg.cn/KQBbU 1.寄包柜 超市里有 n ( 1 ≤ n ≤ 1 0 5 ) n(1\le n\le10^5)n(1≤n≤10 5 ) 个寄包柜。每个寄包柜格子数量不一&#xff0c;第 i ii 个寄包柜有 a i ( 1 ≤ a i ≤ 1 0 5 ) a_i(1\le a_i\le10^5)a i (1…

CentOS系统Maven安装教程

CentOS系统Maven安装教程 一、准备工作二、下载并安装Maven三、常见问题及解决方法四、实际应用案例 Maven是一个流行的项目管理工具&#xff0c;它可以帮助开发者管理项目的构建、报告和文档的软件项目管理工具。在CentOS系统中安装Maven是一个相对简单的过程&#xff0c;只需…

建投数据入选“2024年中国最佳信创企业管理软件厂商”

近日&#xff0c;建投数据凭借国产化自主知识产权、完备的信创资质及信创软硬件环境全栈适配能力&#xff0c;入选第一新声联合天眼查发布的“2024年中国最佳信创厂商系列榜单”细分行业榜之“最佳信创企业管理软件厂商”。 本次最佳信创厂商系列榜单评选&#xff0c;包括综合榜…

css样式学习样例之边框

成品效果 边框固定 .login_box{width: 450px;height: 300px;background-color: aliceblue;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%); }这段CSS代码定义了一个名为.login_box的类的样式&#xff0c;它主要用于创建一个登录框…

【vue3】iframe的使用,实现跨域交互,互访内容和方法

一、查询参数 (Query Params): 通过url传参 <iframe id"iframe" :src"iframeUrl" frameborder"0" width"100%" height"100%"></iframe>const type this is parent const iframeUrl ref(https://test.com?typ…

人工智能在病理组学虚拟染色中的应用|文献精析·24-07-07

小罗碎碎念 本期文献精析&#xff0c;分享的是一篇关于深度学习在虚拟染色技术中应用于组织学研究的综述。 角色姓名单位&#xff08;中文&#xff09;第一作者Leena Latonen东芬兰大学&#xff08;QS-552&#xff09;生物医学研究所通讯作者Pekka Ruusuvuori图尔库大学&#…

Java日期时间操作工具类:DateTimeUtil

在Java开发中&#xff0c;处理日期和时间是一个常见的需求&#xff0c;无论是数据库查询、日志记录还是业务逻辑处理&#xff0c;都离不开对日期时间的精确操作。Java自JDK 8起引入了新的日期时间API&#xff0c;如java.time包下的LocalDate, LocalTime, LocalDateTime, ZonedD…

# Sharding-JDBC 从入门到精通(10)- 综合案例(三)查询商品与测试及统计商品和总结

Sharding-JDBC 从入门到精通&#xff08;10&#xff09;- 综合案例&#xff08;三&#xff09;查询商品与测试及统计商品和总结 一、Sharding-JDBC 综合案例-查询商品-dao 1、查询商品&#xff1a;Dao 实现&#xff1a;在 ProductDao 中定义商品查询方法&#xff1a; //查询商…

基于8255的交通灯设计

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

信号与系统笔记分享

文章目录 一、导论信号分类周期问题能量信号和功率信号系统的线性判断时变&#xff0c;时不变系统因果系统判断记忆性系统判断稳定性系统判断 二、信号时域分析阶跃函数冲激函数取样性质四种特性1 筛选特性2 抽样特性3 展缩特性4 卷积特性卷积作用 冲激偶函数奇函数性质公式推导…

异常解决(三)-- Wandb fails with ServiceStartProcessError

原文链接&#xff1a;https://github.com/wandb/wandb/issues/5765 我的环境配置&#xff1a; Python3.8.16 Wandb0.17.4 在使用Wandb记录实验数据时&#xff0c; 报以下错误&#xff1a; ServiceStartProcessError: The wandb service process exited with 1. Ensure that s…

Spring Boot基础篇

快速上手 SpringBoot是由Pivotal团队提高的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始化搭建以及开发过程 入门案例 在Idea创建 创建时要选择Spring Initializr。 Server URL为要连接的网站&#xff0c;默认为官网start.spring.io&#xff08;访问速度慢&…

数字化精益生产系统--IFS财务管理系统

IFS财务管理系统是一款功能丰富、高效且灵活的企业财务管理软件&#xff0c;广泛应用于多个行业和不同规模的企业中。以下是对IFS财务管理系统的功能设计&#xff1a;

SpringBoot测试类注入Bean失败的原因

针对SpringBoot的测试类&#xff0c;2.2版本之前和之后是不一样的。 2.2版本之后 导包pom.xml 添加test依赖 <!-- starter-test&#xff1a;junit spring-test mockito --> <dependency><groupId>org.springframework.boot</groupId><artifac…

【论文阅读】AsyncDiff: Parallelizing Diffusion Models by Asynchronous Denoising

论文&#xff1a;2406.06911 (arxiv.org) 代码&#xff1a;czg1225/AsyncDiff: Official implementation of "AsyncDiff: Parallelizing Diffusion Models by Asynchronous Denoising" (github.com) 简介&#xff1a;异步去噪并行化扩散模型。提出了一种新的扩散模…

文本编辑(EditPlus)快捷键

EditPlus的快捷键其实也是其他文本编辑器的快捷键&#xff0c;这些快捷键是通用的&#xff1b; CTRLZ: 撤回&#xff1b; CTRLY&#xff1a;撤回撤回&#xff1b; CTRLA&#xff1a;全选 Home: 回到行首&#xff0c;在此基础上&#xff0c;Shiftend: 选中该行&#xff1b;…

【Java】垃圾回收学习笔记(一):判定对象的存活或死亡?Root Search 根可达算法

文章目录 1. 引用计数法优点缺点 2. 可达性分析 Root Search2.1 那些对象是GC Roots2.2 引用的分类 3. 回收方法区Reference 最近上班地铁上偶尔看看书&#xff0c;周末有空理一下&#xff0c;做个笔记。 下面说说GC过程中如何判断对象是否存活。 1. 引用计数法 用于微软COM&a…

文心一言 VS 讯飞星火 VS chatgpt (297)-- 算法导论22.1 1题

一、给定有向图的邻接链表&#xff0c;需要多长时间才能计算出每个结点的出度(发出的边的条数)&#xff1f;多长时间才能计算出每个结点的入度(进入的边的条数)&#xff1f;如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 计算出度 对于有向图的邻接链表表示&a…

redolog的刷盘策略

mysql通过innodb_flush_log_at_trx_commit配置来控制redo log的写盘时机。 0&#xff1a;延迟写。提交事务时不会将redo log写入os buffer&#xff0c;而是每隔1秒将redo log写入os buffer并调用fsync()刷入磁盘。系统崩溃会丢失一秒钟的数据。 1&#xff1a;实时写&#xff0c…

基于OpenCv的快速图片颜色交换,轻松实现图片背景更换

图片颜色更换 图片颜色转换 当我们有2张图片,很喜欢第一张图片的颜色,第2张图片的前景照片,很多时候我们需要PS进行图片的颜色转换,这当然需要我们有强大的PS功底,当然小编这里不是介绍PS的,我们使用代码完全可以代替PS 进行图片的颜色转换 图片颜色转换步骤: 步骤…