element-ui中table中使用checkBox实现单选功能

需求:在表格的第一列加上checkBox选择框,并实现表格的单选功能

 首先采用element API中的多选属性,利用多选把它改成单选.

HTML代码如下: 添加一列col  type=selection

<!-- 表格区域 -->
<el-table
   v-if="focusTableFlag"
    ref="multipleTable"
    :data="tableData.list"
    tooltip-effect="light"
    :border="true"
    class="contactTable"
    :row-key="(row)=> {return row.id}" //使用 :reserve-selection="true" 时必须添加row-key
    :header-cell-style="{ background: '#f0f2f5', color: '#606266' }"
     @selection-change="handleSelectionChange">
      <el-table-column
         type="selection"
         :reserve-selection="true"
         width="55">
      </el-table-column>
</el-table>         

selection-change方法如下:

handleSelectionChange(val) {
   if (val.length > 1) {
   this.$refs.multipleTable.clearSelection(); //清空列表的选中
   this.$refs.multipleTable.toggleRowSelection(val[val.length-1]); //只显示选中最后一个 这时val还是多选的列表(就是你选中的几个数据)
   } else if (val.length === 1) {
        this.multipleTable = val[val.length-1];
   } else {
        this.multipleTable = []; //this.multipleTable是选中行的最后一条数据
   }
}

注意在其他方法中当清空列表选中时一定要给multipleTable重新赋值空数组

this.$refs.multipleTable.clearSelection();

this.multipleTable = [];

最后用样式穿透让全选的选择框display:none;

.contactTable >>> .el-table__header-wrapper .el-table__header .el-checkbox {
  display: none;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值