记录一下开发中遇上的表格合计行自定义的需求和解决方法。
问题:
需要做一个当前页面合计和全部数据的总计。
解决:
1、绑定一个方法(getSummaries)
2、最终需要的是该方法的返回值进行处理
// 表格总计getSummaries(param) {const { columns, data } = param;const sums = [];var totalNum = [0,0,0,0,0];for (let i = 0; i < data.length; i++) {if(data[i].mealBlext3 == 1){totalNum[0]++;}if(data[i].lunch == 1){totalNum[1]++;}if(data[i].lunchNoodles == 1){totalNum[2]++;}if(data[i].dinner == 1){totalNum[3]++;}if(data[i].boxLunch == 1){totalNum[4]++;}}//实现表格的两行总计for (let i = 0; i < columns.length; i++) {if (i === 0){// sums[0] = "总计";sums[0] = <div><div>当前页总计</div><br /><div>总计</div></div>;}if (columns[i].property == 'mealBlext3'){sums[i] = <div><div>{totalNum[0]}</div><br /><div>{this.totalArr[0]}</div></div>;}if (columns[i].property =='boxLunch') {// sums[i] = 99;sums[i] = <div><div>{totalNum[4]}</div><br /><div>{this.totalArr[4]}</div></div>;}if (columns[i].property =='lunch') {// sums[i] = 88;sums[i] = <div><div>{totalNum[1]}</div><br /><div>{this.totalArr[1]}</div></div>;}if (columns[i].property == 'lunchNoodles') {sums[i] = <div><div>{totalNum[2]}</div><br /><div>{this.totalArr[2]}</div></div>;}if (columns[i].property =='dinner') {sums[i] = <div><div>{totalNum[3]}</div><br /><div>{this.totalArr[3]}</div></div>;}}return sums;},