ant design for vue Select选择器自定义输入搜索框
ant design for vue Select选择器自定义输入搜索框
·
目录
前言
应交互需求,需要如下的选择搜索框,也是最后的效果图:

一、自带选择搜索框

为完成需求能委屈自己去重新写一个了
二、具体实现
代码如下(示例):
<div @click="e => { e.preventDefault(); this.selectOpen = !this.selectOpen; }" class="select">
主机组:
<a-select
v-decorator="[
'selectHostGroup',
{
rules: [{ required: true, message: '请选择主机组' }],
getValueFromEvent:(e)=> this.onSelectedChange(e)
}
]"
:open="selectOpen"
@select="selectOpen = false"
@blur="blurEvent"
>
<a-spin slot="notFoundContent" size="small" />
<div slot="dropdownRender" slot-scope="menu">
<div
style="padding: 0px 7px; cursor: pointer;"
>
<a-input-search
id="inputSearch"
placeholder="请输入主机组名称"
style="width: 100%;
margin-top:5px;"
v-model="SearchValue"
@blur="blurEvent"
@change="SearchFilterOption(SearchValue)" />
</div>
<v-nodes :vnodes="menu" />
</div>
<a-select-option v-for="item in selectedItems" :key="item" :value="item">
{{ item }}
</a-select-option>
</a-select>
</div>
SearchFilterOption(SearchValue) {
if (SearchValue) {
this.selectedItems = this.selectedItems2.filter(filterByName(SearchValue))//筛选方法自己写
} else {
this.selectedItems = this.selectedItems2
}
},
blurEvent() {
// 获取当前焦点 id
if (document.activeElement.id !== 'inputSearch') {
this.selectOpen = false
}
},
注意查看官网的,使用 dropdownRender 对下拉菜单进行自由扩展。 另外注意点击搜索输入框后的焦点问题。
总结
后来因为代码冗余,被让改回直接使用原自带选择搜索了。。。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)