注意点:
1. <el-table> 中 加:summary-method="getSummaries"
2. <el-table-column> 中要加 prop
// 房间号的合计去掉 getSummaries (param) { const { columns, data } = param const sums = [] columns.forEach((column, index) => { if (index === 0) { sums[index] = '总计' } else if (index === 5 || index === 6) { 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) } else { sums[index] = 'N/A' } } else { sums[index] = '--' } }) return sums }
效果图
补充知识:vue+elementUI的表格最后一行合计自定义显示
1.在看了elementUI的文档后重要的俩个属性是 show-summary :summary-method="getSummaries" getSummaries这个是自定义方法函数的方法。
HTML的代码:
show-summary :summary-method="getSummaries的属性要加上,还有一个很重要的一点就是要 必须要在el-table-column中必须是prop来传值"
<el-table :key='tableKey' :data="listData" show-summary :summary-method="getSummaries" v-loading="listLoading" border fit highlight-current-row style="width:100%;margin-top:8px" :header-cell-style="{background:'oldlace'}" <el-table-column prop="equipmentType" align="center" label="设备类型" min-width="50"> </el-table-column> <el-table-column prop="equipmentName" align="center" label="设备名称" min-width="50"> </el-table-column> <el-table-column prop="equipmentCode" align="center" label="设备编号" min-width="50"> </el-table-column> <el-table-column prop="openRate" align="center" label="开机率" min-width="50"> </el-table-column> <el-table-column prop="planWorkTime" align="center" label="计划工作时间" min-width="50"> </el-table-column> <el-table-column prop="closeTime" align="center" label="关机时间(h)" min-width="50"> </el-table-column> <el-table-column prop="machiningTime" align="center" label="加工时间(h)" min-width="50"> </el-table-column> <el-table-column prop="stopTime" align="center" label="停工时间(h)" min-width="50"> </el-table-column> <el-table-column prop="debugTime" align="center" label="调试时间(h)" min-width="50"> </el-table-column> <el-table-column align="center" label="查看" min-width="210"> <template slot-scope="scope"> <el-button title="时序图" type="primary" size="mini" @click="profile(scope.row)" v-show="SXTbatshow">时序图</el-button> <el-button title="状态时长统计图" type="danger" size="mini" @click="cartogram(scope.row)">状态时长统计图</el-button> <el-button title="状态占比图" type="success" size="mini" @click="diagram(scope.row)">状态占比图</el-button> </template> </el-table-column> </el-table>
在script要写的代码:
// 表格总计的时间 getSummaries(param) { const { columns, data } = param; /* console.log(1234) console.log(param) */ const sums = []; columns.forEach((column, index) => { if (index === 0) { sums[index] = '总计'; return; } //this.closeList等等是后台返回的总的数据,然后取值到这里 switch(column.property) { case "closeTime": sums[index] = this.closeList + ' h' break; case "machiningTime": sums[index] = this.machiningTimeList + ' h' break; case "stopTime": sums[index] = this.stopTimeList + ' h' break; case "debugTime": sums[index] = this.debugTimeList + ' h' break; default: break; } }); return sums; },
效果图:
以上这篇vue element-ui中table合计指定列求和实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。