实现el-table两列多选框且不可同时勾选

1、效果图如下,功能:必修和选修不可同时勾选

2、代码如下

bash 复制代码
<template>
      <el-table :data="addTableData" style="width: 100%">
        <el-table-column label="必修" width="55px" align="center">
          <template slot-scope="scope">
            <el-checkbox v-model="checked1" :label="scope.row.id" @change="checkboxChange($event,scope.row.id,'checked2')"><span></span></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column label="选修" width="55px" align="center">
          <template slot-scope="scope">
            <el-checkbox v-model="checked2" :label="scope.row.id" @change="checkboxChange($event,scope.row.id,'checked1')"><span></span></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column prop="id" label="编号" width="60px" align="center"></el-table-column>
        <el-table-column prop="name" label="名称" align="center"></el-table-column>
        <el-table-column prop="name" label="学时" width="60px"  align="center"></el-table-column>
      </el-table>
</template>


  export default {
    data() {
      return {
        checked1:[],//必修已选
        checked2:[],//选修已选
      }
    }

    methods: {
      checkboxChange(val,id,type) {
        if(val === true) {
          this[type] = this[type].filter(function(item) {
            return item !== id;  // 过滤出值不为2的元素
          });
        }
      },
    },
  }
相关推荐
chushiyunen14 天前
vue el-pagination实现分页
javascript·vue.js·elementui
一坨阿亮14 天前
使用e-tree开发树形穿梭框
javascript·vue.js·elementui
北极星日淘17 天前
可买免税店货物与安耐晒——特殊商品代购技术方案
javascript·vue.js·elementui
chushiyunen18 天前
vue插件element ui,element plus,ElMessage消息框,ref,动态绑定语法
vue.js·ui·elementui
流浪码农~19 天前
Element Plus DatePicker 动态设置每周起始日
前端·vue.js·elementui
依托偶尔宁21 天前
element-plus:el-table设置展开图标所在列的位置
前端·elementui
吠品23 天前
PyTorch 踩坑:libtorch_cpu.so 找不到 iJIT_NotifyEvent 符号
前端·vue.js·elementui
zhangyao9403301 个月前
开发pc端时,表格的高度怎么设置才能铺满页面
前端·javascript·elementui
mengqudoh1 个月前
elementui el-table 表头固定功能
javascript·vue.js·elementui
陪小甜甜赏月1 个月前
ElementPlus 多个并列 Table 独立全选/取消全选 (适配嵌套表格业务)
前端·vue.js·elementui