el-table控制部分复选框禁止选中

Vue.js:禁用el-table部分复选框

el-table控制部分复选框禁止选中

<el-table-column
   type="selection"
   :selectable="checkboxInit">
</el-table-column>

checkboxInit(row,index){
  if(row.state === 1){
    return 1
  }else{
    return 0
  }
}

方法内适配自己的条件判断就可以了

 

在使用 `el-table`(Element Plus 的表格组件)时,我们可以通过自定义的方式动态控制复选框的行为,例如限制其为单选或多选模式。 以下是实现思路: ### 动态控制复选框为单选或多选 1. **绑定 `selection-change` 事件** 首先需要监听表格的选择变化事件 (`@selection-change`)。当用户选择某一行时会触发该事件,并返回当前所有选中的行数据列表。 2. **通过状态管理判断是否允许多选** 我们可以引入一个变量 (如 `isSingleSelect`) 来标识当前是否只允许多选还是单选。如果设置成单选,则每次新选择一项时清空之前的所有选项;如果是多选则无需操作。 #### 示例代码 ```vue <template> <div> <!-- 表格 --> <el-table ref="tableRef" :data="tableData" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="name" label="名称"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> </el-table> <!-- 切换单选/多选按钮 --> <el-button @click="toggleSelectionMode">切换到{{ isSingleSelect ? '多选' : '单选' }}</el-button> </div> </template> <script setup> import { ref } from "vue"; // 数据源 const tableData = [ { name: "张三", age: 20 }, { name: "李四", age: 24 }, ]; // 控制是否单选,默认开启单选 const isSingleSelect = ref(true); // 获取表格引用 const tableRef = ref(null); // 处理选中事件 function handleSelectionChange(selection) { if (isSingleSelect.value && selection.length > 1) { // 如果是单选模式并且选择了超过一项,则保留最后一项并清除其他选择 const lastSelectedRow = selection.pop(); // 取出最新的一条记录 tableRef.value.clearSelection(); tableRef.value.toggleRowSelection(lastSelectedRow); // 设置新的选中项 } } // 切换单选和多选模式 function toggleSelectionMode() { isSingleSelect.value = !isSingleSelect.value; } </script> ``` 在这个例子中,我们利用了 Vue 组件的状态管理和 Element UI 提供的功能 API 实现对复选框行为的动态调整。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值