<avue-crud
:data="tableData"
:option="tableOption"
:summary-method="summaryMethod"
></avue-crud>
//以下的方法代码写在methods中,此合计方法接受两个值,columns是列信息,data是行信息
summaryMethod({ columns, data }) {
const sums = [];
if (columns.length > 0) {
columns.forEach((column, index) => {
if ([0].includes(index)) {
sums[index] = "合计";
} else if (["add"].includes(column.property)) { //add,是的prop,写在此数组中的列不会被合计
//过滤某些字段不参与计算
sums[index] = "-";
} else {
let 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);
}
}
});
}
return sums;
},