vue-element 多选框实现单选

本文介绍了如何在Vue项目中利用Element UI的el-table-column和type='selection'属性实现多选框单选功能。通过自定义cellnames方法和checkstyle样式,隐藏全选框并用文字替代,同时提供了showRow判断方法来控制单选和取消选中状态。这是一种实用的前端表格操作技巧,旨在帮助开发者提升用户体验。

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

多选框实现单选,取消全选,取消选中

<el-table  ref="tables" 
	:data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" border size="mini"
	:header-cell-style="{'text-align':'center'}" :height="tableHeight"
	:header-cell-class-name="cellnames"
	@row-click="showRows">
	
	<el-table-column fixed align="center" 
	type="selection" width="55"></el-table-column>					

多选框采用element-ui中el-table-column的type属性中的selection:

<el-table-column fixed align="center" 
	type="selection" width="55"></el-table-column>

同时在el-table上加入如下代码:

<el-table :header-cell-class-name="cellnames"
	@row-click="showRows">			

cellnames是定义的一个方法:

data() {
	return {
		keysid:-1,
		}
},
methods:{
cellnames(row) {
	if (row.columnIndex === 0) {
		return "checkstyle"
	}
},
showRows(row) {
	var rows = this.tableData.indexOf(row);
	if(this.keysid != rows){
		this.$refs.tables.clearSelection();
		this.keysid = rows;
		this.$refs.tables.toggleRowSelection(row);
	}
	else if(this.keysid == rows){
		this.keysid = -1;
		this.$refs.tables.clearSelection();
		}
	},
}		

checkstyle是返回的样式(通过将全选框隐藏,然后将文字通过定位放在全选框的位置上):

<style>
	.el-table /deep/.checkstyle.cell .el-checkbox__inner {
		display: none;
		position: relative;
	}

	.el-table /deep/.checkstyle.cell:before {
		content: '选择';
		position: absolute;
		right: 11px;
	}
</style>	

通过网上学习了采用多选框的样式,showRow方法中则是自己写的一个判断从而实现的单选以及取消选中的情况。

希望对大家有所帮助,同时这也是我的学习心得!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值