首先,由于我的表头是动态的,所以就稍微复杂一点
效果图
表头数据格式是这样的
表格的数据格式是这样的
然后用合并的方法,此处就需要递归去计算,根据props去匹配每一列的数据,然后加起来,关键代码
//合计处理getSummaries(param) {const { columns, data } = param;const sums = ["合计"];let num = 0;const func = (arr, props) => {arr.forEach((item) => {if (item.map) {const value = item.map[props];// 转数字num += value && value != "" ? Number(value) : 0;}if (item.children && item.children.length > 0) {func(item.children, props);}});};columns.forEach((item, index) => {if (index > 0) {const props = item.property;num = 0;func(data, props);sums.push(num);}});return sums;},