elementUI Table组件 展开行属性 实现“指定行“展开

5 篇文章 0 订阅
4 篇文章 0 订阅

项目场景:

需求为:判断《el-table-column type="expand"》《/el-table-column》标签里的内容是否存在,存在就默认展开。

问题描述:

Table组件上其实有一个 default-expand-all 属性,当设为true时会默认展开所有展开行,

在这里插入图片描述

可当el-table-column type=“expand”></el-table-column标签里内容不存在时,他也会默认展开一块空白行,不美观,
所以将 “内容是否存在” 作为判断条件,实现默认展开(也就是 指定行 展开)。


解决方案:

通过row-key属性和expand-row-keys属性配合使用可达到指定行展开的目的。

在这里插入图片描述
在这里插入图片描述

具体步骤(大致结构):

<template>
	<el-table
		:row-key="getRowKeys"
		:expand-row-keys="expands"
	>
		<el-table-column type="expand"></el-table-column>
	</el-table>
</template>

<script>
	data() {
		return {
			//要展开的行,数值的元素是row的key值
        	expands: []
		}
	},
	methods: {
		//获取row的key值(这个方法不用修改,直接放上去就行)
	   getRowKeys(row) {
	        return row.id; //id为table每一栏的id
	    },
	    //当获取到数据时,让这个方法执行,并做需要展开行的判断逻辑
	    fn(obj) {
	    	obj.forEach(val=>{
	    		if(val.flag === true) {
	    			this.expands.push(val.id); //id为table每一栏的id
	    		}
	    	})
	    },
	}
</script>
END
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 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 组件设置合计并修改指定单元格样式的方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值