实现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的元素
          });
        }
      },
    },
  }
相关推荐
是大林的林吖1 天前
解决 elementui el-cascader组件懒加载时存在选中状态丢失的问题?
前端·javascript·elementui
鹏仔工作室1 天前
elemetui中el-date-picker限制开始结束日期只能选择当月
前端·vue.js·elementui
竹秋…2 天前
el-table 滚动条小箭头点不了且部分滚动条无法拖动的问题
javascript·vue.js·elementui
一室易安2 天前
模仿elementUI 中Carousel 走马灯卡片模式 type=“card“ 的自定义轮播组件 图片之间有宽度
前端·javascript·elementui
蒲公英源码4 天前
uniapp开源ERP多仓库管理系统
mysql·elementui·uni-app·php
533_8 天前
[vue3] h函数,阻止事件冒泡
javascript·vue.js·elementui
Jeffrey__Lin9 天前
解决Grid布局下el-table自适应缩小失败的问题
vue.js·elementui·html
天天向上102412 天前
在 Vue3 项目中使用 el-tree
javascript·vue.js·elementui
天天向上102412 天前
vue2 vue3 修改elementUI和elementPlus主题颜色
前端·javascript·elementui
D_C_tyu14 天前
Vue3 + Element Plus 实现前端手动分页
javascript·vue.js·elementui