【elementUi】el-table设置高度之后合计行不显示解决方法

问题:

Element 的 el-table组件在同时设置了表格的高度height以及合计行show-summary,这导致合计行无法正常显示。

解决方法:

根据文档提供的方法,添加updated生命周期,对Table重新布局后得到解决

在这里插入图片描述

<template>
	<el-table
		ref="table"
		:height="500"
		:data="dataSource"
		show-summary
	/>
</template>

<script>
export default {
	data() {
		return {
			dataSource: []
		}
	},
	updated() {
		this.$nextTick(() => {
			this.$refs.table.doLayout()
		})
	}
	
}
</script>
可以使用 ElementUItable 组件的 slot-scope 和 scoped slot 来自定义表格的渲染和样式,包括合计和单元格样式。 具体实现方法如下: 1. 在 table 组件中设置 show-summary 属性为 true,开启合计功能。 ``` <el-table :data="tableData" show-summary> <!-- 表格列定义 --> </el-table> ``` 2. 在 table-column 组件中使用 scoped slot 来自定义表格的渲染和样式,包括合计和单元格样式。其中,$index 表示当前的索引,$column 表示当前列的配置对象,$row 表示当前的数据对象。 ``` <el-table-column prop="amount" label="金额"> <template slot-scope="scope"> <div :class="{ 'highlight': scope.row.amount > 100 }"> {{ scope.row.amount }} </div> </template> <template slot="summary"> <div :class="{ 'highlight': sumAmount > 100 }"> {{ sumAmount }} </div> </template> </el-table-column> ``` 在上面的例子中,我们使用了 div 元素来包裹单元格内容,并根据条件动态绑定了 highlight 类名来修改单元格样式。同时,在 summary scoped slot 中也可以使用类似的方式来自定义合计的渲染和样式。 需要注意的是,在这里我们使用了 sumAmount 变量来保存当前列的合计值,需要在 table 的 methods 属性中添加 sumAmount 方法来计算合计值。 ``` methods: { sumAmount: function() { return this.tableData.reduce((total, item) => total + item.amount, 0); } } ``` 最后,我们可以在样式表中定义 highlight 类名来修改单元格样式。 ``` .highlight { color: red; font-weight: bold; } ``` 以上就是使用 ElementUItable 组件设置合计并修改指定单元格样式的方法
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值