vue中使用element合並表格的行或者列
<template> <div> <el-table :data="tableData" :span-method="arraySpanMethod" border style="width: 100%"> <el-table-column prop="id" label="ID" width="180"> </el-table-column> <el-table-column prop="name" label="姓名"> </el-table-column> <el-table-column prop="amount1" sortable label="數值 1"> </el-table-column> <el-table-column prop="amount2" sortable label="數值 2"> </el-table-column> <el-table-column prop="amount3" sortable label="數值 3"> </el-table-column> </el-table> <el-table :data="tableData" :span-method="objectSpanMethod" border style="width: 100%; margin-top: 20px"> <el-table-column prop="id" label="ID" width="180"> </el-table-column> <el-table-column prop="name" label="姓名"> </el-table-column> <el-table-column prop="amount1" label="數值 1(元)"> </el-table-column> <el-table-column prop="amount2" label="數值 2(元)"> </el-table-column> <el-table-column prop="amount3" label="數值 3(元)"> </el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [{ id: '12987122', name: '王小虎', amount1: '234', amount2: '3.2', amount3: 10 }, { id: '12987123', name: '王小虎', amount1: '165', amount2: '4.43', amount3: 12 }, { id: '12987124', name: '王小虎', amount1: '324', amount2: '1.9', amount3: 9 }, { id: '12987125', name: '王小虎', amount1: '621', amount2: '2.2', amount3: 17 }, { id: '12987126', name: '王小虎', amount1: '539', amount2: '4.1', amount3: 15 },{ id: '12987126', name: '王小虎', amount1: '539', amount2: '4.1', amount3: 15 }] }; }, methods: { // row當前行數據, column當前列數據, rowIndex行號, columnIndex列號 arraySpanMethod({ row, column, rowIndex, columnIndex }) { if (rowIndex % 2 === 0) { if (columnIndex === 0) { // 從第0列開始合並三列為一格 return [1, 3]; } else if (columnIndex === 1||columnIndex === 2) { // 清除第1和第2列 return [0, 0]; } } }, objectSpanMethod({ row, column, rowIndex, columnIndex }) { if (columnIndex === 0) { if (rowIndex % 3 === 0) { // 從偶數行開始合並3行為一格 return { rowspan: 3, colspan: 1 }; } else { // 刪除%3不為0的行數據 return { rowspan: 0, colspan: 0 }; } } } } }; </script>