element ui多选实现 选项互斥

element ui多选实现 选项互斥

先说一下需求吧 就是需要用到多选框 比如4个按钮A,B,C,D
D按钮随便选,A B C 需要i互斥 怎么解决呢?
下面放代码

 <el-checkbox-group v-model="agenttype">
                  <el-checkbox label="2" @change="changeSelect(2)">标准Radius客户端</el-checkbox>
                  <el-checkbox label="4" @change="changeSelect(4)">Windows logon认证代理</el-checkbox>
                  <el-checkbox label="8" @change="changeSelect(8)">Linux PAM认证代理</el-checkbox>
                  <el-checkbox label="1073741824" checked>普通认证代理</el-checkbox>
                </el-checkbox-group>

el-checkbox有一个change事件 当选项改变的时候 我们可以给他一个值区分不同的选项然后使用changeSelect来判断 代码 如下

changeSelect(type) {
      console.log(type)
      if (type == 2) {
        let exampleValue = ['4', '8']
        for (let i = 0; i < this.agenttype.length; i++) {
          if (exampleValue.includes(this.agenttype[i])) {
            this.agenttype.splice(i, 1)
          }
        }
      } else if (type == 4) {
        this.isLang = true
        this.typeNum = 0
        let exampleValue = ['2', '8']
        for (let i = 0; i < this.agenttype.length; i++) {
          if (exampleValue.includes(this.agenttype[i])) {
            this.agenttype.splice(i, 1)
          }
        }
      } else {
        this.typeNum = 1
        let exampleValue = ['2', '4']
        for (let i = 0; i < this.agenttype.length; i++) {
          if (exampleValue.includes(this.agenttype[i])) {
            this.agenttype.splice(i, 1)
          }
        }
      }

我写的比较简单用的if判断 如果有好一些的方法 希望大家能一起讨论一下 谢谢了
具体思路是这样的 比如要点击A按钮 那么判断一下现在v-model列表里面有没有 B 或者C 在里面 如果在里面 说明这两个选项被选中了 那么我就for循环一下 吧这个给删除。
大致就是这个思路 有什么问题 欢迎一起讨论。

  • 0
    点赞
  • 1
    收藏 更改收藏夹
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天你码 了吗

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值