最后一行合並前幾行的最后一列金額 計算。
<el-table :data="dataList" border v-loading="dataListLoading" style="width: 100%;" show-summary sum-text="應付金額" :summary-method="getSummaries" > </el-table>
遇到問題:JS 計算不准確,最后會出來好多位小數
解決:保留兩位小數。 當前是把顯示總金額的錢給拿出來,然后進行toFixed,然后再賦值回去,不知道還有沒有別的更好用的方法
getSummaries(param) { const { columns, data } = param; const sums = []; columns.forEach((column, index) => { if (index === 8) { sums[index] = '應付金額'; return; } if (index === 9){ const 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); sums[index] += ' 元'; } else { sums[index] = 'N/A'; } } }); if (sums[9]){ // sums[9] 是101元 var sumsall = Number(sums[9].split(' ')[0]).toFixed(2) // 保留兩位小數 sumsall = sumsall.toString() + " 元"; sums[9] = sumsall } return sums; }