element 表格点击行展开,实现点击一行任意处包括箭头

本文介绍在Vue项目中使用el-table组件时,如何通过点击行来实现表格行的展开功能。通过使用row-click事件结合toggleRowExpansion方法,可以轻松实现点击行展开。但若想保留箭头点击功能,则需改用cell-click事件并巧妙处理点击列的下标。

vue项目中我们会使用到el-table展开行功能,通过设置 type="expand" 和 Scoped slot 可以开启展开行功能。具体这里不细说。

那么如何通过点击一行来实现展开功能呢?很简单的两步。

我们需要用到的是element官方提供的点击事件 row-click 以及实现展开折叠的方法 toggleRowExpansion

上代码:

在table中添加行点击事件 row-click ,

<el-table ref="multipleTable" :data="tableData" stripe @row-click="rowClick" >

方法为

// 通过点击行展开

rowClick(row, column, event) {

this.$refs.multipleTable.toggleRowExpansion(row)

}

如此,就可以点击一行展开了。但是,细心的同学会发现,使用row-Click事件实现点击会冲掉expand自身带的点击箭头展开功能,此时点击箭头是无效的,并不会展开。那要怎么办呢?不急,同样两步解决!

1.将row-click事件更改为cell-click事件

@cell-click="cellClick"

2.实现方法

// 通过点击每列实现点击行展开

cellClick(row, column, event) {

if(event.cellIndex != 0){

this.$refs.multipleTable.toggleRowExpansion(row)

}

}

聪明的同学会发现我这里采用了取巧的方法,通过获取点击列的下标来判断是否使用toggleRowExpansion,很明显下标为0的列就是箭头列,这一列我们不做处理,那么他就会使用element自己封装的点击展开方法!同时我们通过列点击实现行点击。

当然,此为取巧方法,如果有更好的方法,欢迎下方评论!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值