antd的a-select组件既可手动输入又可下拉选择
最近有一个需求:让下拉框既可下拉选择也可手动输入,在antd官网看了下,并没有看出啥名堂(实践证明还是缺乏前端经验,特记录下,希望对有此需求的小伙伴们提供帮助,如有问题,希望指导,以免误导他人)
本文基于vue和ant design
直接上代码
下拉框是组件库自带的,主要是手动输入。亲测有效,除了业务逻辑外,其他可以直接复制即可
-
html:
-
<a-select
-
v-model="newSoftName"
-
show-search
-
option-filter-prop="children"
-
style="width: 230px"
-
:filter-option="filterOption"
-
@blur="handleBlur"
-
@change="newHandleChange"
-
>
-
<a-select-option v-for="(item, index) in newSoftNameList" :key="index" :value="item">
-
{{ item }}
-
</a-select-option>
-
</a-select>
-
js:
-
-
newHandleChange(value) {
-
// console.log(`selected ${value}`);
-
axios({
-
url: '',
-
method: '',
-
params:
-
}).then(res => {
-
// 业务逻辑
-
}).catch(err => {
-
console.log(err)
-
})
-
},
-
handleBlur() {
-
// this.isSelected = false
-
// this.getdictionarySoftType()
-
},
-
filterOption(input, option) {
-
// 重要的一步,可以console.log(input)看下输入的是啥
-
this.newSoftName = input // 在此前是可以手动输入,但鼠标离开后,输入的内容不能在输入框内保存,将input的值给到a-select标签的v-model绑定的newSoftName即可实现将手动输入的值赋值给input
-
return (
-
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-
);
-
},
总结:
解决办法还是自己根据文档摸索出来的,其实就很简单,但在网上找了一会,也没找到解决办法,实现这个需求无非就是将input这个值赋值给v-model绑定的值就可以了,除此之外,业务逻辑根据公司需求去实现就行了。
还是对组件库的理解不深,才导致一个简单的问题却花了很多时间解决。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhefihgk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13