element-ui 里面的table 点击行进行切换选中状态

这篇博客介绍了如何在Element-UI的表格组件中实现通过点击行来切换选中状态,强调了使用复选框的用户体验,并指出单击即选中的优势。同时,作者提到了一个潜在问题,即当点击不同行时,由于共用的标识符导致选中状态可能反转,提出了需要改进的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

html 里面是:
 <el-table
   :data="tableData"
    border
    height="315"
    style="width: 100%"
    highlight-current-row
    @current-change="handleCurrentChange"//这个只会触发一次, 所以弃用
    @selection-change="handleSelectionChange"
    @row-click = "btn"//点击当前行就会触发
    ref="eltableCurrentRow"//必须有ref 这个实例,才能去掉用toggleRowSelection 这个方法
  >
</el-table>
data 里面去定义一个flag:false;

method 的里面去写:
 btn(row,col,event){
      this.flag = !this.flag;  
      this.$refs.eltableCurrentRow.toggleRowSelection(row,this.flag);      
  }

实现效果:
点击第一次:
在这里插入图片描述
点击第二次
在这里插入图片描述
也不是本身的勾选框不好使用, 只是能点击就选中, 我觉得更有用户体验;还会再加东西的,~~~

//但是 这样有一个弊病, 就是如果你换行去点击, 因为flag 是一个公共的标识符, 那么点击另一行时, flag 的变化,和第一次点击的状态其实是恰恰相反
所以 这里的处理办法改一下

 btn(row,col,event){
 //把这个flag 变成当前的行的私有物,这样一来,每次变化的时候, 变化的都是你当前行的布尔值, 
      row.flag = !row.flag;  
      this.$refs.eltableCurrentRow.toggleRowSelection(row,row.flag);      
    },
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值