ant-design-vue的Select选择器的输入筛选效果

本文介绍了如何使用Ant Design Vue的Select组件实现动态过滤和远程搜索功能。通过设置`optionFilterProp`和`filterOption`属性,可以根据输入内容实时筛选下拉选项。示例代码展示了如何定义`filterOption`函数以过滤内嵌内容,并提供了筛选后的效果对比。此外,还提及了组件支持的远程搜索和加载状态功能,以提升用户体验。
摘要由CSDN通过智能技术生成

问题描述

很多时候,我们下拉选择器的选择项是由后台数据提供的。

简单的下拉选择只适用于数据量较小的情况;

大量数据的处理需要配合筛选功能,我们在输入的时候,就自动过滤出符合的数据,这样数据量大大减少,我们在选择的时候就会更加方便。

问题分析

既然用人家的组件,官方文档是少不得看了。
在这里插入图片描述
这可谓:刚想瞌睡就有人送上了枕头。
效果就是这么个效果,具体怎么用还得看一下api。

optionFilterProp:

搜索时过滤对应的 option 属性,如设置为 children 表示对内嵌内容进行搜索

也就是:option-filter-prop="children"

filterOption:

是否根据输入项进行筛选。当其为一个函数时,会接收 inputValue option 两个参数,当 option 符合筛选条件时,应返回 true,反之则返回 false。

这里呢,肯定是按照函数处理。在函数内部,我们对内嵌内容进行筛选返回。
也就是:

filterOption(input, option) {
    return XX;
},

问题解决

使用组件的时候:

<a-select placeholder="请选择名称" show-search option-filter-prop="children" :filter-option="filterOption">
   <a-select-option :value="item.examId" v-for="(item, inde) in examList" :key="inde"> {{ item.examName }} </a-select-option>
</a-select>

方法:

//名称下拉选择输入过滤
filterOption(input, option) {
  return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;
},

效果展示

初始状态:
在这里插入图片描述
筛选后:
在这里插入图片描述
问题解决,这种是筛选后直接返回的,组件也有提供带远程搜索、加载状态的组件内容,效果更趋于用户的交互体验:
一个带有远程搜索,节流控制,请求时序控制,加载状态的多选示例

官方的文档官方的话,若有问题就找它。配置参数看看清,配置说明指定行。
配置项:https://1x.antdv.com/components/select-cn/#API

这里是飞鱼爱吃米,只授渔,不授鱼!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值