实现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的元素
          });
        }
      },
    },
  }
相关推荐
千码君201621 小时前
kotlin:jetpack compose 生成动态可控的动画
vue.js·elementui·kotlin
牧杉-惊蛰1 天前
修改表格选中时的背景色与鼠标滑过时的背景色
前端·javascript·css·vue.js·elementui·html
没有故事、有酒2 天前
Vue2中el-table修改表头高度和行高
javascript·vue.js·elementui
蒙面价肥猫3 天前
el-popconfirm 弹窗不显示问题总结
vue.js·elementui
蜡台4 天前
IDEA LiveTemplates Vue ElementUI
前端·vue.js·elementui·idea·livetemplates
邂逅星河浪漫6 天前
【Vue2-ElementUI】:model、v-model、prop
javascript·vue.js·elementui
cypking10 天前
二次封装ElementUI日期范围组件:打造带限制规则的Vue2 v-model响应式通用组件
前端·javascript·elementui
wangjinsheng59310 天前
Vue3 + Element Plus 前端 AI 编码模板
前端·vue.js·ai·elementui·ai编程
easyboot10 天前
使用element-plus的暗黑模式
javascript·vue.js·elementui
1314lay_100711 天前
Element Plus左侧侧边栏按照屏幕宽度来确定显示和隐藏,如果太小的话,侧边栏消失,菜单会变成一个小按钮,点击按钮以模态框弹出
javascript·vue.js·elementui