el-table已经选中的项,通过selectable属性不可以再次选择

示例:

1、表格当前行状态已完成时,不可选择

javascript 复制代码
<el-table-column type="selection" width="55" :selectable="isRowSelectable"></el-table-column>


// 表格行是否可选
isRowSelectable (row, index) {
   // 根据row的disable属性决定是否禁用选择
   // console.log(row)
   // 返回 true 则可以选择,返回 false 则禁止选择
   if (row.status === 0) { // 0 待审核可选择
      return true
   } else {
      return false
   }
},

2、根据已选中的项,不可再次选中

父组件:

子组件:

javascript 复制代码
<el-table
    :data="tableData"
    @selection-change="selectionChange"
    ref="multipleTable"
    :selectable="isRowSelectable"
  >
    <el-table-column type="selection" width="55" :selectable="isRowSelectable"></el-table-column>
    ......
</el-table>


// 表格行是否可选
isRowSelectable (row, index) {
   // 根据row的disable属性决定是否禁用选择
   // storeDetails来自父组件中已经选中的数组项
   // 检查行是否已在 storeDetails 中,如果在则返回 false,否则返回 true
   return !this.storeDetails.some(item=> item.goodsId === row.id) // 使用相同的 key 来比较行是否已选择
},
// 批量操作选中按钮
selectionChange (data) {
   // console.log(data)
   // 修改属性名id改为goodsId
   let arr = JSON.parse(JSON.stringify(data).replace(/id/g, 'goodsId'))
   // console.log(arr)
   // selectItems传递给父组件的数组项
   this.selectItems.splice(0, this.selectItems.length, ...arr)
   // console.log(this.selectItems)
},
相关推荐
雪芽蓝域zzs1 天前
第十二节:完整用户管理 CRUD 页面(表格分页、新增 / 编辑弹窗、删除、Mock 接口)
前端·javascript·vue.js
YHHLAI1 天前
[特殊字符] 从 JSX 到 TypeScript:React 开发的进化之路
javascript·react.js·typescript
单线程121381 天前
从案例分析 Vue3 Tokenizer 源码二
前端·javascript·vue.js
单线程_011 天前
从案例分析 Vue3 Tokenizer 源码二
前端·javascript·vue.js
IT毕设实战小研1 天前
基于安卓的考研资讯系统设计与实现
android·大数据·vue.js·爬虫·python·考研·课程设计
zzzzzz3101 天前
36K stars 之外:如何阅读 react-bits 这样的动画交互式 React 项目
javascript·react.js·动效
泯泷1 天前
手搓JSVMM第 8 篇:函数调用:参数、返回值与调用帧
前端·javascript·前端框架
Mr数据杨1 天前
【Codex】用学生入学评估模块建立新生能力画像
android·java·javascript·django·codex·项目开发
IT毕设实战小研1 天前
基于安卓的空气质量查询系统
android·大数据·vue.js·爬虫·python·django·课程设计
苏灿烤鱼1 天前
没有机密文件,也没有付费数据,在浏览器里造一颗"间谍卫星"
前端·javascript·github