ant-design-vue中table某一列进行合并

ant-design-vue中table某一列进行合并

1、在colums中配置自定义渲染

js 复制代码
{
	title: '区域',
	dataIndex: 'cityName',
	key: 'cityName',
	align: 'center',
	width: 120,
	customCell: (record, rowIndex, column) => {
		return {
			rowSpan: record.rowSpan
		}
	}
},

2、处理请求来的数据

js 复制代码
tableData.dataSource = processTableData(res?.data)
const processTableData = (data) => {
	let result = []
	let i = 0
	while (i < data?.length) {
		const currentItem = data[i]
		let rowSpan = 1
		while (i + rowSpan < data.length && data[i + rowSpan].cityName === currentItem.cityName) {
			rowSpan++
		}
		result.push({
			...currentItem,
			rowSpan
		})
		for (let j = 1; j < rowSpan; j++) {
			result.push({
				...data[i + j],
				rowSpan: 0
			})
		}
		i += rowSpan
	}
	return result
}
相关推荐
qq_177767374 分钟前
React Native鸿蒙跨平台实现应用介绍页,实现了应用信息卡片展示、特色功能网格布局、权限/联系信息陈列、评分展示、模态框详情交互等通用场景
javascript·react native·react.js·ecmascript·交互·harmonyos
2603_9494621010 分钟前
Flutter for OpenHarmony社团管理App实战:预算管理实现
android·javascript·flutter
wuhen_n16 分钟前
JavaScript内存管理与执行上下文
前端·javascript
Hi_kenyon37 分钟前
理解vue中的ref
前端·javascript·vue.js
jin1233221 小时前
基于React Native鸿蒙跨平台地址管理是许多电商、外卖、物流等应用的重要功能模块,实现了地址的添加、编辑、删除和设置默认等功能
javascript·react native·react.js·ecmascript·harmonyos
2501_920931702 小时前
React Native鸿蒙跨平台医疗健康类的血压记录,包括收缩压、舒张压、心率、日期、时间、备注和状态
javascript·react native·react.js·ecmascript·harmonyos
落霞的思绪2 小时前
配置React和React-dom为CDN引入
前端·react.js·前端框架
Hacker_Z&Q2 小时前
CSS 笔记2 (属性)
前端·css·笔记
Anastasiozzzz2 小时前
LeetCode Hot100 295. 数据流的中位数 MedianFinder
java·服务器·前端
橙露3 小时前
React Hooks 深度解析:从基础使用到自定义 Hooks 的封装技巧
javascript·react.js·ecmascript