el-table多选框实现单选功能

1.elementui提供了一个方法select,两个参数,第一个参数为已选中的数据构成的数组,第二个参数为当前选择的数据;

2.在select方法中,clearSelection()的作用是清空所有数据的选中状态;

3.toggleRowSelection()方法的作用是将当前选择的数据切换状态

<el-table
    ref="treeTable"
    data="list"
    row-key="id"
    :tree-props="{children: 'childrenList'}" // 指定树形数据中的下级数组
    @select="selectRow"
>
</el-table>
 
 
// select方法
selectRow(selection,val) {
    // 接收两个参数,selection为所有选中数据的集合,val为当前选择的数据
 
    // 先将所有选中的数据变为未选中状态
    this.$refs.treeTable.clearSelection();
    // 如果选择完当前数据后selection为空数组,说明现在是取消勾选,无选中数据
    if (selection.length == 0){
        this.selectedRow = [];  // 清空data中绑定的selectedRow
        return
    };
    // 切换最近一次选择数据的状态
    this.$refs.treeTable.toggleRowSelection(val, true);
    // 更新data中的selectedRow
    this.selectedRow = val;
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以通过监听 el-table 的 @row-click 事件来实现 el-table 多选框单选功能。具体步骤如下: 1.在 el-table 中添加 type="selection",开启多选框功能。 2.在 el-table 中添加 @row-click="handleRowClick" 监听行点击事件。 3.在 methods 中添加 handleRowClick 方法,通过 $refs 获取到 el-table 的 selection 组件,然后将当前行的数据设置为选中项。 下面是示例代码: ```html <template> <el-table ref="table" :data="tableData" @row-click="handleRowClick" style="width: 100%"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [{ date: '2021-01-01', name: '张三', address: '北京市朝阳区' }, { date: '2021-01-02', name: '李四', address: '上海市浦东新区' }, { date: '2021-01-03', name: '王五', address: '广州市天河区' }], selection: [] } }, methods: { handleRowClick(row) { this.$refs.table.toggleRowSelection(row) this.selection = this.$refs.table.selection } } } </script> ``` 在上面的代码中,我们通过监听 @row-click 事件来实现el-table 多选框单选功能。在 handleRowClick 方法中,我们通过 $refs 获取到 el-table 的 selection 组件,然后将当前行的数据设置为选中项。最后,我们将选中的数据保存在 selection 变量中,以便后续使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_52872381

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值