先上效果图:
实现办法:
没有用饿了么的summary-method办法,因为这个办法只能增加在最初一行。我把summary-method提出来改了下,把办法返回的数组改成了和表格数据一样的key:value格局,而后用unshift
插入到第一行。
sum(data) { if (data.length > 0) { let keys = Object.keys(data[0]) const sums = {}; keys.forEach((column, index) => { let property = column if (index === 0) { sums[column] = '总价'; return; } const values = data.map(item => Number(item[column])); //验证每个value值是否是数字,如果是执行if if (!values.every(value => isNaN(value))) { sums[column] = values.reduce((prev, curr) => { return prev + curr; }, 0); sums[column] += ' 元'; } else { sums[column] = 'N/A'; } if (keys[keys.length - 1] === column) { data.unshift(sums); } }); } }
data是须要计算总和的数据,翻页也是能够用sum办法,只有分页后拿到的表格数据传给sum即可,须要留神的是如果有排序的话排序的办法须要另写,不能间接用饿了么的sortable,不然会把总和的数据也进行排序
demo代码
git地址
https://github.com/liguangshu...