iview的Select多选框选择“不限”清空其他选项

本文介绍了如何在iview的Select组件中实现多选功能,并控制'不限'选项的显示与隐藏。通过监听on-change事件,判断用户选择的值,当选择'不限'时清空其他选项,反之则移除'不限'选项。关键代码包括对val数组的检查,以确定是否包含'-2'(代表'不限'),并据此调整选中项。
摘要由CSDN通过智能技术生成

iview的Select多选框选择“不限”清空其他选项

需求如下,当选择不显得时候,清空其他选项,只留下不限选项,选择其他选项的时候,删除不限选项,可多选。

在这里插入图片描述

1、给下拉框绑定一个一个on-change事件

<Select
         v-model="adForm.ageRange"
         placeholder="请选择(可多选)"
         multiple
         @on-change="ageRangeChange">
          	<Option :value="item.selectKey" v-for="item in selectData.ageList" :key="item.selectKey">
            	{{item.selectVal}}
          	</Option>
</Select>

2、主要是判断当前是否选择了不限选项,此时的数组长度应该都是大于1的。

  1. 如果选了其他的选项,再选择不限,那么就清空所有选项,留下不限选项。此时不限选项一定是数组最后一个元素
  2. 如果只有不限选项,那么选择了其它选项就把不限选项删除,此时不限选项一定是数组第一个元素。
//:value为‘-2’,则代表不限选项
 ageRangeChange (val) {
  if (val.length > 1) {
    // 如果最后一个值为“-2”,就清空选中的数组,留下值为“-2”的不限选项
    if (val[val.length - 1] === '-2') {
    	this.adForm.ageRange=['-2']
    }
    // 如果包含值“-2”,就删除值为“-2”的不限选项
    else if (val.includes('-2')) {
      this.adForm.ageRange.shift()
    }
  }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值