实现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的元素
          });
        }
      },
    },
  }
相关推荐
web1309332039811 小时前
vue elementUI form组件动态添加el-form-item并且动态添加rules必填项校验方法
前端·vue.js·elementui
m0_7482548813 小时前
vue+elementui实现下拉表格多选+搜索+分页+回显+全选2.0
前端·vue.js·elementui
GDAL19 小时前
vue3入门教程:ref函数
前端·vue.js·elementui
博客zhu虎康1 天前
ElementUI 的 form 表单校验
前端·javascript·elementui
CodeChampion3 天前
60.基于SSM的个人网站的设计与实现(项目 + 论文)
java·vue.js·mysql·spring·elementui·node.js·mybatis
_不是惊风3 天前
el-table合并表头,表头第一个添加斜线
vue.js·elementui
毛毛三由3 天前
表单校验记录
前端·vue.js·elementui
_Feliz4 天前
vue2实现word在线预览
前端·javascript·vue.js·elementui·vue-office
Qlittleboy5 天前
vue的elementUI 给输入框绑定enter事件失效
前端·vue.js·elementui
Cachel wood5 天前
Vue.js前端框架教程14:Vue组件el-popover
前端·javascript·vue.js·python·elementui·django·前端框架