Vue 中Element的table多选表格实现单选,并且多选表格中表头的多选框不显示或隐藏

Vue 中Element的table多选表格实现单选

主要使用的是ElementUI多选表格中的方法 请参考官网
1、 select 事件 当用户手动勾选数据行的 Checkbox 时触发的事件 参数selection, row
2、 row-click 事件 当某一行被点击时会触发该事件 参数 row, column, event
3、 selection-change 事件 当选择项发生变化时会触发该事件 参数 selection
4、 clearSelection 方法 用于多选表格,清空用户的选择
5、 toggleRowSelection 方法 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中) 参数row, selected

一、vue代码:

<el-table
    ref="multipleTable"
    :data="inputRemoteTable"
    :header-cell-style="{background:'#eef1f6',color:'#909399'}"
    style="width: 100%"
    v-loading="InputDialogLoading"
    @select="select"
    @row-click="rowClick"
    @selection-change="selectionChange"
    >
        <el-table-column
            type="selection"
            width="55">
        </el-table-column>
        <el-table-column
            prop="label"
            label="中文名"
            >
        </el-table-column>
        <el-table-column
            prop="value"
            label="代码"
            >
        </el-table-column>
</el-table>

二、 select方法主要用于当用户勾选时, 清除掉之前的勾选项

select(selection, row) {
	// 清除 所有勾选项
	this.$refs.multipleTable.clearSelection()
	// 当表格数据都没有被勾选的时候 就返回
	// 主要用于将当前勾选的表格状态清除
	if(selection.length == 0) return 
	this.$refs.multipleTable.toggleRowSelection(row, true);
},
// 表格的选中 可以获得当前选中的数据
selectionChange(val) {
	// 将选中的数据存储起来
    this.selectData = val
},
// 表格某一行的单击事件
rowClick(row, column) {
    const selectData = this.selectData
    this.$refs.multipleTable.clearSelection()
    if( selectData.length == 1 ) {
        selectData.forEach(item => {
        	// 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中
            if (item == row) {
                this.$refs.multipleTable.toggleRowSelection(row, false);
            }else {// 不然就让当前的一行勾选
                this.$refs.multipleTable.toggleRowSelection(row, true);
            }
        })
    }else {//判断点击当前行某一个位置或者操作按钮时,不允许多选框选中
        this.$refs.multipleTable.toggleRowSelection(row, false);
    }
},

三、 将表头的多选框隐藏样式:

<style>
::v-deep .has-gutter {
	.el-checkbox__inner {
		display:none !important;
	}	
}
</style>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值