el-table 合并单元格

news/2025/1/12 12:39:43/

参考文章:vue3.0 el-table 动态合并单元格 - flyComeOn - 博客园

<el-table :data="tableData" border empty-text="暂无数据" :header-cell-style="{ background: '#f5f7fa' }" class="parent-table" :span-method="objectSpanMethod">
javascript">getAll().then((rsp) => {if (rsp.status === HTTPStatus.OK) {tableData.value = rsp.dataconst colFields = ['groupNo', 'name', 'description', 'operation']setTableRowSpan(tableData.value, colFields)}}).catch(() => {})// 设置合并的行和列
const setTableRowSpan = (tableData, colFields) => {let lastItem = []// 循环需要合并的列colFields.forEach((field, index) => {tableData.forEach((item) => {// 存值,把合并字段存入行,为了合并单元格时检索列是否含有该字段item.mergeCell = colFields// 合并的字段出现的次数const rowSpan = `rowspan_${field}`// 比较上一次的存值和该轮的合并字段,判断是否合并到上个单元格if (colFields.slice(0, index + 1).every((e) => lastItem[e] === item[e])) {// 如果是,合并行;item[rowSpan] = 0 // 该轮合并字段数量存0// 上轮合并字段数量+1lastItem[rowSpan] += 1} else {//初始化进入&& 如果不是,完成一次同类合并,lastItem重新赋值,进入下一次计算item[rowSpan] = 1 // 该轮合并字段第一次出现,数量存1// 改变比较对象,重新赋值,进行下一次计算lastItem = item}})})
}
const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {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 }}}
}


http://www.ppmy.cn/news/1562502.html

相关文章

pytest+allure 入门

使用allure如何生成自动化测试报​​​​​​告 &#xff1f;一文详解allure的使用 。_allure测试报告-CSDN博客 例子&#xff1a; import allure import pytest import osallure.epic("闹钟") allure.feature("闹钟增删") class TestSchedule():def setu…

一键部署Netdata系统无需公网IP轻松实现本地服务器的可视化监控

文章目录 前言1.关于Netdata2.本地部署Netdata3.使用Netdata4.cpolar内网穿透工具安装5.创建远程连接公网地址6.固定Netdata公网地址 &#x1f4a1; 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。…

Elasticsearch学习(2) :DSL和RestClient实现搜索文档

之前的学习中——Elasticsearch学习(1) &#xff0c;我们已经导入了大量数据到elasticsearch中&#xff0c;实现了elasticsearch的数据存储功能。但elasticsearch最擅长的还是搜索和数据分析。 所以这篇我们研究下elasticsearch的数据搜索功能。我们分别使用DSL(Domain Specif…

Android14上使用libgpiod[gpioinfo gpioget gpioset ...]

环境 $ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="…

计算机视觉算法实战——实例分割

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​​ ​​​​​​​​​​​​ ​​​​​ 1. 算法基本原理✨✨ 实例分割&#xff08;Instance Segmentation&#xff09;是计算机视…

Adobe Flash,Flash Player和RTMP之间的关系

flash也有很多版本&#xff0c;主要就分为Adobe Flash和Flash Player&#xff0c;那么二者间有什么关联呢&#xff1f; 母公司都是Adobe&#xff0c;flashplayer主要是网页播放插件&#xff0c;有些时候电脑里也会内置flashplayer来播放swf矢量动画文件。而swf文件动画又是Ado…

Spring——自动装配

假设一个场景&#xff1a; 一个人&#xff08;Person&#xff09;有一条狗&#xff08;Dog&#xff09;和一只猫(Cat)&#xff0c;狗和猫都会叫&#xff0c;狗叫是“汪汪”&#xff0c;猫叫是“喵喵”&#xff0c;同时人还有一个自己的名字。 将上述场景 抽象出三个实体类&…

Perl语言的循环实现

Perl语言的循环实现 引言 Perl是一种强大的脚本语言&#xff0c;以其灵活的语法和强大的文本处理能力著称。无论是在系统管理、网络编程&#xff0c;还是在Web应用开发中&#xff0c;Perl都广泛应用于各种领域。循环是编程语言中一个极其重要的概念&#xff0c;它允许程序重复…