antdv下拉框即可手动输入又可下拉选择

54 篇文章 4 订阅
15 篇文章 1 订阅

最近有个需求是下拉框既可下拉选择也可手动输入,antd 的a-select组件不能直接使用,所以需要基于插件再修改一下。

<a-select
     v-decorator="['mc',{ rules: [{ required: true, message: '请输入子任务名称!' }] }]"
     :show-search="true"   //可搜索
     :not-found-content="null"  //当下拉列表为空时显示的内容
     :showArrow="false"
     :filter-option="true"  //是否根据输入项进行筛选。
     :autoClearSearchValue="false"
     @search="handleSearch"
     @blur="handleBlur"
     @change="handleChange"
>
     <a-select-option v-for="(item, index) in rwmcOpt" :key="index" :value="item.value">
          {{ item.label }}
     </a-select-option>
</a-select>
// start---------可输入可下拉单选
handleSearch(value) {
    this.handleChange(value);
},
handleChange(value) {
    //判断value不等于null并且不为空的情况,然后把选择或者输入的值赋值,如果为空赋值为空数组 
    this.form.setFieldsValue({"zrwmc":value})
},
handleBlur(value) {
    this.form.setFieldsValue({"zrwmc":value})
    //判断数组里有没输入的值 如果没有再赋值
    let f = this.rwmcOpt.find((r)=>{
         return  r.value === value;
    })
    if(!f) this.rwmcOpt.push({label:value,value:String(value)});
},

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值