虽然element-ui里面的table标签给我们提供了一个show-summary属性,但是他会把整个table中的所有数据都会计算并在底部出现.里面夹杂着我们不想让它合计计算的数据.那该怎么去除呢?往下看...
上图中我们可以看到,收款方式和收款周期,是属于类型,是后端返回给我们的0和1,但是他们却计算了,因为我们只是单纯的使用了element-ui给我们提供的show-summary方法,我们不想让他们计算,由此我们要把它底部的合计去除掉...请看下文
我们可以使用这个方法即可解决
第一步 除了给table标签添加这个show-summary属性外,还要再给他加一个方法
:summary-method="totalOutYear",当然属性名可以随意取
第二部 在methods中使用 totalOutYear 这个参数
methods:{
totalOutYear(param) {
const { columns, data } = param;
console.log(columns, "合计");
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = "合计";
return;
}
const values = data.map(item => Number(item[column.property]));
if (
column.property != "clientName" && //clientName这个参数是你table标签中不想合计计算的参数,在&&后面可以继续使用column.property != " " 这个方法,当写最后一个column.property != " "方法的时候记得不要带&&,否者会报错
) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index];
}
});
return sums;
},
}
这样就成功了! 记得点赞收藏哦! 谢谢