【Element-UI 表格表头、内容合并单元格】

一、实现效果:

在这里插入图片描述

🥰 表头合并行、合并列 🥰

🥰 表格内容行、合并列 🥰

thead和tbody分别有单独的合并方法

二、关键代码:

<el-table size="mini" class="table-th-F4F6FB" align="center" ref="myTable2"
			v-loading="tableInfo2.loading" :header-cell-style="headerStyle2" :span-method="objectSpanMethod2"
			highlight-current-row element-loading-text="加载中..." element-loading-spinner="el-icon-loading"
			element-loading-background="rgba(0, 0, 0, 0.8)" :data="tableInfo2.tableData" border style="width: 100%">
			<el-table-column show-overflow-tooltip prop="name" align="center" label="班级" />
			<el-table-column show-overflow-tooltip prop="subName" align="center" label="班级" />
			<el-table-column align="center" label="性别">
				<el-table-column align="center" label="boy" prop="boy"></el-table-column>
				<el-table-column align="center" label="girl" prop="girl"></el-table-column>
	</el-table-column>
</el-table>


headerStyle2({
	row,
	column,
	rowIndex,
	columnIndex
}) {
	const comStyle = {
		backgroundColor: "#F4F6FB",
		color: "#909399",
		fontSize: "500",
	};

	if (rowIndex === 0) {
		row[0].colSpan = 0; // 将表头第一列和第二列合并,内容展示为第二列的内容
		row[1].colSpan = 2;
		if (columnIndex === 0) { // 将表头第一列隐藏
			return {
				display:"none",
				...comStyle,
			};
		}
	}
	return comStyle;
},
			
			
objectSpanMethod2({
	row,
	column,
	rowIndex,
	columnIndex
}) {
	// 合并单元格
	if (columnIndex === 0 && (rowIndex == 0 || rowIndex == 1 || rowIndex == 2)) {
		return {
			rowspan: 1,
			colspan: 2
		};
	}
	// 隐藏多余的单元格
	if (columnIndex === 1 && (rowIndex == 0 || rowIndex == 1 || rowIndex == 2)) {
		return {
			rowspan: 0,
			colspan: 0
		};
	}

	// 合并单元格
	if (columnIndex === 0 && rowIndex == 3) {
		return {
			rowspan: 2,
			colspan: 1
		};
	}
	// 隐藏多余的单元格
	if (columnIndex === 0 && (rowIndex == 4 )) {
		return {
			rowspan: 0,
			colspan: 0
		};
	}
},

三、寄语

懒惰是很奇怪的东西
它使你以为那是安逸,是休息,是福气
但实际上它所给你的是无聊,是倦怠,是消沉
它剥夺你对前途的希望,割断你和别人之间的友情,使你心胸日渐狭窄,对人生也越来越怀疑 ——罗兰《忙碌与进取》

在这里插入图片描述

在使用ElementUI中的表格合并单元格时,可以按照以下步骤进行操作: 1. 首先,在data中定义需要合并的列的数组和索引。例如,定义column1Arr和column1Index来表示需要合并的第一列的数据和索引,以此类推。\[2\] 2. 接下来,编写合并逻辑的方法。可以使用mergeTable方法来实现合并。在该方法中,可以遍历spanName数组,并在tableData中进行比较,判断当前行与上一行是否相同。如果相同,则将上一行的合并数加1,当前行的合并数设为0;如果不相同,则将当前行的合并数设为1,并更新索引。\[3\] 3. 最后,在表格中使用elementUI中提供的合并方法。可以使用arraySpanMethod方法来指定合并的规则。在该方法中,可以根据columnIndex的值来判断是否需要合并,如果是需要合并的列,则返回合并的行数和列数;否则返回1行1列。\[1\] 通过以上步骤,就可以实现在ElementUI表格合并单元格的功能。 #### 引用[.reference_title] - *1* *3* [elementUI中table单元格的合并,通用版](https://blog.csdn.net/weixin_46103180/article/details/126969260)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Element UI 的 table 单元格合并](https://blog.csdn.net/beijixing333y/article/details/125389547)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值