第一种是直接使用show-summary
将show-summary设置为true就会在表格尾部展示合计行。默认情况下,对于合计行,第一列不进行数据求合操作,而是显示「合计」二字(可通过sum-text配置),其余列会将本列所有数值进行求合操作,并显示出来。缺点是将所有列的数字信息都统计出来,包括你不需要的。如下:
第二种是使用summary-method并传入一个方法
使用summary-method并传入一个方法,返回一个数组,这个数组中的各项就会显示在合计行的各列中
- 写入 : :summary-method=“getSummaries”
和 show-summary - 方法 :
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = "合计"; //第一列显示合计
return;
} else if (index > 2) { //我需要在第三列开始统计
const values = this.summary.map((item) => //this.summary 需要显示的合计数组
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] += "";
} else {
sums[index] = "--"; //第三列之后没有没有可以统计的换成--填充
}
}
});
return sums;
},