根据自己的合计逻辑,使用element官方的合计属性summary-method并传入一个方法,返回一个数组,这个数组中的各项就会显示在合计行的各列中,具体看以下代码


html代码
<el-table
:data="tableData1"
style="width: 100%"
border
show-summary
:summary-method="getSummaries"
>
</el-table>

合计列方法
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '总价';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] = sums[index].toLocaleString();;
} else {
sums[index] = '--';
}
});
return sums;
}
