Vue3+ElementPlus实现Table表格的行合并(单个及多个)
在Vue3和ElementPlus中,可以通过Table组件的span-method
属性来实现行的合并。该属性接受一个方法,该方法的参数是一个包含row
、column
、rowIndex
、columnIndex
的对象,返回一个包含两个元素的数组,分别代表行的合并和列的合并。
以下是一个简单的示例,展示如何实现单个和多个行的合并:
<template>
<el-table :data="tableData" border style="width: 100%" :span-method="mergeRows">
<el-table-column prop="date" label="日期" width="150"></el-table-column>
<el-table-column prop="name" label="姓名" width="150"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{
date: '2016-05-02',
name: '张三',
address: '上海市普陀区金沙江路 1518 弄'
},
// ... 更多数据
]
};
},
methods: {
mergeRows({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) { // 假设我们根据第一列来合并行
if (rowIndex % 2 === 0) {
return [1, 2]; // 表示行合并,合并两行
} else {
return [0, 0]; // 不合并
}
}
}
}
};
</script>
在这个例子中,我们使用了mergeRows
方法来决定哪些行需要合并。如果行的索引是偶数,那么它将合并与下一行的同一列。这只是一个简单的例子,实际情况可能需要更复杂的逻辑来决定合并哪些行。
评论已关闭