Vue el 使用el-checkbox-group复选框进行单选框操作

让复选框进行单选框操作

el-checkbox-group这个组件与其他复选框不一样,我当初也是半天不知道怎么操作

页面使用v-model绑定 size就是等比例缩小放大,v-ror循环应该看的懂。重要的是@chage到我们写的类

        <el-checkbox-group v-model="checked" size="medium">
          <el-checkbox-button v-for="city in cities" :label="city" :key="city" @change="checkbox(city)">{{ city }}
          </el-checkbox-button>
         </el-checkbox-group>

注意checked与v-model绑定了所以必须要有值不然整个都显示不出来,注意小细节

  const cityOptions = ['上海', '北京', '广州', '深圳'];
  export default {
    data () {
      return {
        checked: ['上海'],//不能为null,必须要有值
        cities: cityOptions
      };
    }
  }

经过我的踩坑,不能直接this.checked=[]或者等于null。因为绑定之后的数组里面有特定参数,也不能直接把this.checked=city
这就需要使用到“includes/包含”这个函数判断包含不包含,再用三运算符把当前值给进去

    checkbox(city) {
      this.checked = this.checked.includes(city) ? [city] : [];
    },

题外话:三运运算符 ?问号左边的是判断结果为true或false,只有?问号左边为布尔值才能跳到右边,如果为true就按循序得第一个[city] 为false就第二个

三元运算符  a ? b : c;
可以理解简化为
        if(a){  a=b; }
         else{  a=c  }

希望上述内容能帮到你

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值