elementui的table合并单元格
在Element UI中,要合并表格的单元格,你可以使用rowspan
和colspan
属性。以下是一个简单的例子,展示了如何合并行和列的单元格:
<template>
<el-table :data="tableData" border style="width: 100%">
<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 label="操作" width="300">
<template slot-scope="scope">
<el-button size="mini" @click="handleClick(scope.row, scope.$index)">查看</el-button>
<el-button size="mini" @click="handleEdit(scope.row, scope.$index)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ date: '2016-05-02', name: '张三', address: '上海市普陀区金沙江路 1518 弄' },
{ date: '2016-05-04', name: '李四', address: '上海市普陀区金沙江路 1517 弄' },
// ...更多数据
]
};
},
methods: {
handleClick(row, index) {
console.log('点击查看', row, index);
},
handleEdit(row, index) {
console.log('点击编辑', row, index);
}
}
};
</script>
如果你需要动态合并单元格,可以使用span-method
属性,该属性接受一个方法,这个方法返回一个包含两个元素的数组,分别决定每个单元格的rowspan
和colspan
:
<el-table
:data="tableData"
border
style="width: 100%"
:span-method="mergeCells"
>
<!-- 你的表格列 -->
</el-table>
export default {
// ...
methods: {
mergeCells({ row, column, rowIndex, columnIndex }) {
if (rowIndex === 0 && columnIndex === 0) {
return [1, 2]; // 合并两列
} else if (rowIndex === 0 && columnIndex === 1) {
return [2, 1]; // 跳过第一列,合并原本属于它的下一列
}
}
}
};
在这个例子中,mergeCells
方法根据行和列的索引决定是否合并单元格,并返回一个数组来指定合并的行数和列数。这里假设我们要合并第一行的前两个单元格。
评论已关闭