Ant Design Vue Element-ui 中table 合并行功能,以及带分页并合并行

news/2025/3/6 3:17:59/

 1. Ant Design Vue 中 table 合并行功能

   <a-tableref="table":dataSource="comList":columns="columns":scroll="{ y: 430 }"size="small"rowKey="id":rowClassName="rowClassNameHandle":customRow="record => {return {on: {click: () => clickRow(record), // 点击行},}}":pagination="ipagination"@change="handleTableChange"/> columns: [{title: '楼层',dataIndex: 'floor',align: 'center',width: 130,ellipsis: true,customRender: (text, row, index) => {const obj = {children: text,attrs: {},}obj.attrs.rowSpan = row.rowSpanreturn obj},},{title: '名称',dataIndex: 'name',align: 'center',ellipsis: true,},],this.setRowSpan(this.comList, 'floor')//数据处理    data:表格数据,field: 要合并行的属性字段setRowSpan(data, field) {let count = 0 let indexCount = 1 while (indexCount < data.length) {const item = data[count]if (!item.rowSpan) {item.rowSpan = 1}if (item[field] === data[indexCount][field]) {item.rowSpan++data[indexCount].rowSpan = 0} else {count = indexCount}indexCount++}},

以上,如果表格不用分页,那么按照 floor 字段值一样就合并行的功能就已经实现了。

以下,如果表格是按照10条数据为一页来分页的合并行功能实现:

 // 进一步处理数据,按10条数据分页,来调整合并行的值this.comList.forEach((item, index) => {const rowSpan = item.rowSpanconst remain = index % 10const pages = parseInt(item.rowSpan / 10)const currentPage = parseInt(index / 10)if (rowSpan > 10 - remain) {item.rowSpan = 10 - remain //首const rowSpanRemain = rowSpan - (pages - 1) * 10 - (10 - remain)for (let i = 1; i < pages; i++) {arr[(i + currentPage) * 10].rowSpan = 10}if (arr[(pages + currentPage) * 10]) {arr[(pages + currentPage) * 10].rowSpan = rowSpanRemain //尾}}})

2. Element ui 中table 合并行功能

  <el-table:data="comList.slice((ipagination.pageNo - 1) * ipagination.pageSize,ipagination.pageNo * ipagination.pageSize,)"style="width: 100%"max-height="450":span-method="objectSpanMethod"stripebordersize="mini"><el-table-column prop="floor" label="楼栋" width="150"> </el-table-column><el-table-column prop="name" label="wifi名称"> </el-table-column></el-table><el-pagination:current-page="ipagination.pageNo":page-size="ipagination.pageSize"layout="total, prev, pager, next":total="ipagination.total"@current-change="handleCurrentChange"size="mini"></el-pagination>// arr 为表格数据源this.setRowSpan(arr, 'floor')// 如果有分页才需要此段代码arr.forEach((item, index) => {const rowSpan = item.rowSpanconst remain = index % 10const pages = parseInt(item.rowSpan / 10)const currentPage = parseInt(index / 10)if (rowSpan > 10 - remain) {item.rowSpan = 10 - remain //首const rowSpanRemain = rowSpan - (pages - 1) * 10 - (10 - remain)for (let i = 1; i < pages; i++) {arr[(i + currentPage) * 10].rowSpan = 10}if (arr[(pages + currentPage) * 10]) {arr[(pages + currentPage) * 10].rowSpan = rowSpanRemain //尾}}})this.comList = arrobjectSpanMethod({ row, column, rowIndex, columnIndex }) {if (columnIndex === 0) {console.log(row)if (row.rowSpan > 0) {return { rowspan: row.rowSpan, colspan: 1 }} else {return {rowspan: 0,colspan: 0,}}}},


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

相关文章

C++入门篇11 模板进阶

一、非类型模板参数 模板参数分为类型形参和非类型形参 类型形参&#xff1a;出现在模板参数列表里&#xff0c;跟在class/typename之后的参数类型名称非类型参数&#xff1a;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将参数当作常量来使用 …

中转服务器是干嘛的?

随着互联网的快速发展&#xff0c;全球范围内的数据传输需求不断增长。在这个信息爆炸的时代&#xff0c;中转服务器成为了连接世界的重要桥梁。本文将介绍中转服务器的定义、功能以及其在网络通信中的重要性。 中转服务器&#xff0c;顾名思义&#xff0c;是一种位于网络中间…

数据结构 - 3(链表12000字详解)

一&#xff1a;LinkedList的使用 1.1 ArrayList的缺陷 上篇文章我们已经基本熟悉了ArrayList的使用&#xff0c;并且进行了简单模拟实现。由于其底层是一段连续空间&#xff0c;当在ArrayList任意位置插入或者删除元素时&#xff0c;就需要将后序元素整体往前或者往后搬移&am…

网络编程基础知识总结——IP,端口,协议

目录 1. 什么是网络编程&#xff1f; 2. 网络编程的三要素 3. IP 3.1 IP地址的概念 3.2 IP地址的分类 3.3 IPv4解析 3.4 Ipv6解析 4. IPv4 的使用细节 5. 特殊IP地址 4. 端口号 5. 协议 5.1 UDP协议 5.2 TCP协议 1. 什么是网络编程&#xff1f; 总的来说就是一句…

oracle创建数据库,导入dmp操作全家桶

背景&#xff1a;小明在一家IT公司就职&#xff0c;通过查看项目&#xff0c;公司使用的是oracle&#xff0c;几天后&#xff0c;经理要求他从服务器导入数据库到公司服务器&#xff0c;聪明的小明就开始干了起来&#xff0c;整理如下教程。 说明&#xff1a;此次演示环境oracl…

14.5 Socket 应用组播通信

组播通信是一种基于UDP协议的网络通信方式&#xff0c;它允许发送方将消息同时传递给多个接收方。在组播通信中&#xff0c;发送方和接收方都会加入一个共同的组播组&#xff0c;这个组播组对应一个特定的IP地址&#xff0c;所有加入该组播组的主机都能够接收到发送方发送的消息…

kafka 相关概念

1 kafka 生产者 kafka 用push的方式把消息推送到topic 每个topic下可以有多个分区&#xff0c; 可以用hash 也可以用轮询的方式指定分区 每个分区内部是可以保证顺序的&#xff0c;但是整体无法保证顺序&#xff0c;除非设置成一个topic只有一个分区。 kafka这种多分区的设置 带…

【Python学习笔记】函数

1. 函数组成 Python中&#xff0c;我们是这样定义函数的&#xff1a; def function(para1, para2):print("func start")print(para1)print(para2)print("func end")print("让技术总监面试 求职者")return "func return"def 是关键字…