element-ui实现带单选框的表格

为了方便操作表格中的某一条数据

 实现效果:在表格中只能选中某一条数据,进行下一步的操作。

 首先扒拉扒拉element的官方文档有没有属性能直接实现。

嗯,没有。于是开始面向百度编程,大概是这两种方法

一.结合Radio组件来实现

个人觉得好多写的都比较麻烦。这位老哥写的较为简易,亲测可行 

element-ui table 表格控件实现单选功能_elementui table单选-CSDN博客

二.使用table组件自身的row-click方法和selection-change方法

直接上代码

    <div style="width: 80%;margin:100px auto;">
		<template>
			<el-table
			    ref="radioTable"
			    :data="tableData"
			    :header-cell-style="{background:'#eef1f6',color:'#909399'}"
			    border
			    style="width: 100%"
			    fixed
			    @row-click="rowClick"
			    @selection-change="selectionChange"
			    stripe>
		        <el-table-column
		            type="selection">
		        </el-table-column>
		        <el-table-column
		            prop="label"
		            label="姓名"
		            >
		        </el-table-column>
		        <el-table-column
		            prop="value"
		            label="年龄"
		            >
		        </el-table-column>
			</el-table>
		</template>
	</div>

给一些数据和一个用来接收选中行数据的对象selectData 

        data:{
			tableData:[
				{
					label:'这是张三',
					value:'18'
				},
				{
					label:'这是李四',
					value:'20'
				},
				{
					label:'这是王五',
					value:'21'
				}
			],
			selectData :{},
		},

 methods方法:

    // 表格的选中 可以获得当前选中的数据
	selectionChange(val) {
		if(val.length>1){
			this.$refs.radioTable.clearSelection()
			this.$refs.radioTable.toggleRowSelection(val.pop())
		}else{
			this.selectData=val.pop()
		}
	},
	// 表格某一行的单击事件
	rowClick(row, column) {
		this.$refs.radioTable.toggleRowSelection(row)
	}

再把复选框变成圈圈并隐藏掉表头的框框

        .el-table__header .el-table-column--selection .cell .el-checkbox {
			display:none
		}
		.el-table-column--selection .cell{
			text-align: center;
		}
		.el-checkbox__input .el-checkbox__inner{
			border-radius: 50%;
		}

如此这般。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用element-ui中的el-table和el-radio组件来实现tabel内的单选框。在el-table中,可以使用el-table-column来定义表格的列,其中可以使用el-radio来定义单选框。具体实现可以参考element-ui的官方文档或者相关的教程。 ### 回答2: 要使用element-ui实现table内的单选框,我们需要在table的列定义中添加一个选择框列。 首先,在组件中引入所需的库: ```javascript import { TableColumn, RadioGroup, RadioButton } from 'element-ui'; ``` 然后,在template中的table列定义中添加一个选择框列,并绑定数据中每一行的选中状态: ```html <el-table-column type="selection" align="center"></el-table-column> ``` 接下来,在table组件中,使用element-ui的radio-group组件包裹table,并绑定选中的行数据: ```html <el-radio-group v-model="selectedRow"> <el-table :data="tableData" style="width: 100%"> <!-- 其他列定义 --> <el-table-column type="selection" align="center"></el-table-column> </el-table> </el-radio-group> ``` 最后,为了获取选中的行数据,需要在data中定义一个变量来存储选中行的数据: ```javascript data() { return { tableData: [ { id: 1, name: '张三' }, { id: 2, name: '李四' }, { id: 3, name: '王五' }, { id: 4, name: '赵六' } ], selectedRow: [] // 存储选中行数据 } } ``` 现在,通过上述步骤,我们就成功地使用element-ui实现了table内的单选框。选择行时,选中的行数据会被存储在selectedRow变量中。 ### 回答3: 使用element-ui实现table内的单选框非常简单。首先,我们需要在table列定义时添加一个type属性,并将其设置为'selection'。这将自动为每一行添加一个包含单选框的列。 接下来,我们需要在table组件的data属性中定义一个新的数组,用于存储选中的行数据。我们可以将其命名为selectedRows。 然后,在table组件的标签上,添加一个属性row-selection,并将其设置为selectedRows数组。 现在,我们已经完成了基本的设置。当用户选择一行时,selectedRows数组将自动更新。我们可以通过监听selectedRows数组的变化,来进行相关的操作。 例如,可以实现一个按钮,用于获取选中行的数据,并进行进一步处理。我们可以在methods属性中定义一个方法,例如handleSelectedRows,用于获取选中行的数据。在这个方法中,我们可以访问selectedRows数组,以获取选中行的数据。 最后,将按钮添加到table的工具栏中,并绑定点击事件为handleSelectedRows方法。这样,当用户点击按钮时,选中行的数据将被获取,并可以进行其他操作。 使用element-ui实现table内的单选框非常方便,只需简单的几个设置,就可以实现单选功能,并获取选中行的数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值