elementtable表单自定义表尾合计行定义内容 和amp; 自定义样式
着急用的可以直接看后面代码,对你有帮助的话给个免费的赞支持一下我吧
目录
实现的效果如下:
用的是Vue2 element 版本是2.15的
尾标合计实现思路
在element的 table尾表合计文档 中指出 将 show-summary设置为 true 可以显示尾表的总计行
想要进行设置的话需要通过官网给的绑定方法属性 summary-method 传入写好的方法来进行定义。该方法需要返回一个数组,数组中的各项会对应的显示到合计行中,比如上图中的内容,返回的数组就如下: [ "总价", "N/A", "1883元", "15.83元", "63元" ]
如果要修改其样式,需要找到对应的样式并穿透才能进行修改
我找到的相应的样式如下:
/deep/.el-table__footer-wrapper tbody td.el-table__cell // 这个是设置表格每个框的样式的
/deep/.el-table__footer-wrapper tbody td.el-table__cell // 这是修改表格内容样式的
可以通过以上两个样式来实现自定义尾表的样式
尾表合计代码
页面的代码,简单设置一个element的表,其他需求根据自己的来改
-
<Table
-
:data="data"
-
border
-
:summary-method="summaryMethod"
-
show-summary
-
>
-
<TableColumn label="订单号" prop="name" />
-
<TableColumn label="商品名称" prop="name" />
-
<TableColumn label="成交金额" prop="name" />
-
</Table>
summaryMethod的计算方法
-
summaryMethod(params) { // params是由 columns和data组成的对象,具体计算看个人需求
-
let number = 372;
-
// 合并尾表操作
-
-
await this.$nextTick();
-
const tables = document.querySelectorAll(
-
".el-table__footer-wrapper tr>td"
-
); // 通过控制显示隐藏实现表格的合并
-
console.log(this.tabPaneLabel !== 2,'this.tabPaneLabel !== 2');
-
tables[0].colSpan = tables.length-1 // 表示第一个格子的大小占总格子数-1
-
tables[0].style.textAlign = "right"
-
tables[1].colSpan = 1
-
tables[1].style.textAlign = 'left'
-
for (var index= 2; index<tables.length; index ) {
-
tables[index].style.display = "none" //其余格子隐藏
-
}
-
// 一顿操作之后返回的数组
-
return [`结算佣金:`,` 共 ${number} 元`,''] // 数组分别返回的是对应的三个格子的内容
-
}
注意:返回的数组的长度需要跟table表格的列数相等,内容需要隐藏的可以通过我方法中的display来控制,达到合并的效果
如果要修改颜色,比如把第二项中字体颜色改成红色,其他不变,可以通过如下方法进行修改
但是设计稿上需要的是字体黑数字红,实在是有点难为我这个CV工程师了
于是我只能是通过分开成两个表格的方法来进行修改颜色,css样式的代码如下:
-
<style>
-
/* 合计样式 */
-
/deep/.el-table__footer-wrapper tbody td.el-table__cell:nth-child(1){
-
color: red ;
-
font-weight: 600;
-
font-size: 16px;
-
}
-
-
/* 额外的需求*/
-
/deep/.el-table__footer-wrapper tbody td.el-table__cell:nth-child(1){
-
border-right: 0px; // 把第一个的格子右边框线去掉
-
}
-
</style>
效果如下,码字不易,如果对你有帮助的话,给个免费的赞吧=。欢迎讨论
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfcgccb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22