詳解vue結(jié)合el-table實(shí)現(xiàn)表格小計(jì)總計(jì)需求(summary-method)
1. 實(shí)現(xiàn)效果
2. 核心部分
1.el-table 添加如下配置,添加 show-summary
屬性,配置 summary-method
函數(shù)
<el-table ....... show-summary :summary-method="getSummaries" > ...... </el-table>
2.getSummaries
計(jì)算小計(jì)/總計(jì)邏輯
getSummaries(param) { // 計(jì)算小計(jì) let result = this.tableData let sumTotalData = Object.assign({}, emptyTotalData) result.forEach((item) => { sumTotalData.age += Number(item.age) sumTotalData.height += Number(item.height) }) // 計(jì)算總計(jì) let totalResult = this.statistics return [ <span> <strong> 小計(jì) </strong> <br /> <strong> 總計(jì) </strong> </span>, <span> </span>, <span> </span>, <span> <span> {sumTotalData.age} </span> <br /> <span> {totalResult.age} </span> </span>, <span> <span> {sumTotalData.height} </span> <br /> <span> {totalResult.height} </span> </span>, ] },
3. 完整組件代碼
<template> <div class="home"> <div class="body"> <el-table :data="tableData" border row-key="date" class="draggable-table" style="width: 100%" show-summary :summary-method="getSummaries" > <el-table-column type="index" label="序號" width="200" /> <el-table-column prop="date" label="日期" /> <el-table-column prop="name" label="姓名" /> <el-table-column prop="age" label="年齡" /> <el-table-column prop="height" label="身高" /> </el-table> </div> </div> </template> <script> import Sortable from 'sortablejs' let emptyTotalData = { age: 0, height: 0, } export default { name: 'Demo', data() { return { tableData: [], //table數(shù)據(jù) statistics: 0, //總計(jì)數(shù)據(jù) } }, mounted() { // 調(diào)用后端接口table數(shù)據(jù) this.tableData = [ { date: '2024-01-02', name: '張三1', age: '10', height: '165' }, { date: '2024-01-03', name: '李四2', age: '11', height: '174' }, { date: '2024-01-04', name: '王五3', age: '12', height: '174' }, { date: '2024-01-05', name: '麻六4', age: '14', height: '185' }, { date: '2024-01-07', name: 'kk5', age: '44', height: '179' }, { date: '2024-01-08', name: 'fantay6', age: '21', height: '171' }, ] // 調(diào)用后端接口返回的總計(jì)數(shù)據(jù) this.statistics = { age: '112', height: '1048', } }, methods: { getSummaries(param) { // 計(jì)算小計(jì) let result = this.tableData let sumTotalData = Object.assign({}, emptyTotalData) result.forEach((item) => { sumTotalData.age += Number(item.age) sumTotalData.height += Number(item.height) }) // 計(jì)算總計(jì) let totalResult = this.statistics return [ <span> <strong> 小計(jì) </strong> <br /> <strong> 總計(jì) </strong> </span>, <span> </span>, <span> </span>, <span> <span> {sumTotalData.age} </span> <br /> <span> {totalResult.age} </span> </span>, <span> <span> {sumTotalData.height} </span> <br /> <span> {totalResult.height} </span> </span>, ] }, }, } </script> <style scoped lang="scss"> .home { .body { width: 890px; height: 500px; border: #31aab2 solid 10px; box-sizing: border-box; padding: 20px; box-sizing: border-box; } } </style>
到此這篇關(guān)于vue結(jié)合el-table實(shí)現(xiàn)表格小計(jì)總計(jì)需求(summary-method)的文章就介紹到這了,更多相關(guān)vue el-table表格小計(jì)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3插槽:el-table表頭插入tooltip及更換表格背景色方式
- vue3?el-table結(jié)合seamless-scroll實(shí)現(xiàn)表格數(shù)據(jù)滾動(dòng)的思路詳解
- vue實(shí)現(xiàn)動(dòng)態(tài)控制el-table表格列的展示與隱藏
- VUE2.0+ElementUI2.0表格el-table實(shí)現(xiàn)表頭擴(kuò)展el-tooltip
- VUE2.0+ElementUI2.0表格el-table循環(huán)動(dòng)態(tài)列渲染的寫法詳解
- VUE2.0 ElementUI2.0表格el-table自適應(yīng)高度的實(shí)現(xiàn)方法
相關(guān)文章
three.js實(shí)現(xiàn)vr全景圖功能實(shí)例(vue)
去年全景圖在微博上很是火爆了一陣,正好我也做過一點(diǎn)全景相關(guān)的項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于three.js實(shí)現(xiàn)vr全景圖功能的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05Electron+vue從零開始打造一個(gè)本地播放器的方法示例
這篇文章主要介紹了Electron+vue從零開始打造一個(gè)本地播放器的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10基于Vue2實(shí)現(xiàn)簡易的省市區(qū)縣三級聯(lián)動(dòng)組件效果
這是一個(gè)基于Vue2的簡易省市區(qū)縣三級聯(lián)動(dòng)組件,可以控制只顯示省級或只顯示省市兩級,可設(shè)置默認(rèn)值等。提供原始省市縣代碼和名稱數(shù)據(jù),適用于各種有關(guān)城市區(qū)縣的應(yīng)用。需要的朋友可以參考下2018-11-11vue中v-for循環(huán)數(shù)組,在方法中splice刪除數(shù)組元素踩坑記錄
這篇文章主要介紹了vue中v-for循環(huán)數(shù)組,在方法中splice刪除數(shù)組元素踩坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06unplugin-auto-import的配置以及eslint報(bào)錯(cuò)解決詳解
unplugin-auto-import?解決了vue3-hook、vue-router、useVue等多個(gè)插件的自動(dòng)導(dǎo)入,也支持自定義插件的自動(dòng)導(dǎo)入,是一個(gè)功能強(qiáng)大的typescript支持工具,這篇文章主要給大家介紹了關(guān)于unplugin-auto-import的配置以及eslint報(bào)錯(cuò)解決的相關(guān)資料,需要的朋友可以參考下2022-08-08