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);
},