element el-select模糊搜索功能

这篇博客详细介绍了如何在前端使用Vue.js结合el-select组件实现远程搜索功能,通过axios与后台接口交互,动态加载筛选后的数据。内容包括设置filterable、remote、reserve-keyword等属性,以及处理选中事件和模糊搜索方法,实现输入关键词实时查询并显示匹配项。

在这里插入图片描述
这是能查到有数据的

在这里插入图片描述

根据输入框的字调取接口查出数据

<el-select v-model="valuee"
                           style="height:30px;margin-right:20px;"
                           filterable
                           remote
                           reserve-keyword
                           placeholder="请输入关键词"
                           :remote-method="remoteMethod"
                           :loading="loading"
                           @focus="repeatList"
                           clearable="true"
                           @change="handleSelectBranchCom">
                    <el-option v-for="item in dddd"
                               :key="item.value"
                               :label="item.label"
                               style="height:30px"
                               :value="item.value">
                    </el-option>
                </el-select>


 data: function () {
                return {
                		states :'',
                		list :'',
                		dddd :'',
                		searchid :''
                		
                		}	

//在 methods:{}   写入下面代码
				handleSelectBranchCom(item) {
                    console.log('远程搜索选中后返回的item:::::即value的值')
                    console.log(item)
                    //如果要获取选择的 id或者名字   从item中取值
                    this.searchid = item;
                    console.log(this.searchid)
                },
                // 搜索模糊查询数据下拉框
                remoteMethod(query) {
                    var that = this;
                    axios.get('数据接口', {
                        params: {
                            
                            comName: query  //请求的参数  输入的值

                        }
                    })
                        .then(function (res) {
                        //将取到的值进行遍历
                            that.states = res.data.data;
                            
                            that.list = that.states.map(item => {
                            	// item.uid     item.name根据接口里的关键字
                                return { value: item.uid, label: item.name };
                            });


                        })
                        .catch(function (err) {
                            console.log(err)
                        });
                    setTimeout(() => {
                        if (query !== '') {
                            that.loading = true;
                            setTimeout(() => {
                                that.loading = false;
                                that.dddd = that.list.filter(item => {
									//这里的label值对应着 上面遍历 return  返回的label:item.name
                                    return item.label.toLowerCase()
                                        .indexOf(query.toLowerCase()) > -1;
                                });
                            }, 200);
                        } else {
                            that.dddd = [];
                        }
                    }, 100);
                },
el-input的模糊搜索功能可以通过两种方式来实现。一种是使用el-autocomplete组件,另一种是使用el-selectel-option组合。对于el-autocomplete组件的实现,你可以在input输入框中添加el-autocomplete类,并设置v-model绑定一个变量。然后通过fetch-suggestions属性来定义一个方法,该方法会在用户输入时触发,用于获取与输入值匹配的建议选项。最后,可以通过@select事件来监听用户选择的值,并进行相应的处理。 如果你选择使用el-selectel-option组合来实现模糊搜索功能,你可以在el-select中添加el-option作为选项。在获取数据的过程中,可以使用listProduct方法来获取数据,并将返回的数据存储在restaurants数组中。然后,通过在el-select中设置v-model绑定一个变量来实现选择值的同步。使用createFilter方法来过滤数据,根据用户输入的内容来匹配选项。最后,通过proIdSelect方法来处理用户选择的值。 总结起来,el-input的模糊搜索功能可以通过el-autocomplete组件或el-selectel-option组合来实现。你可以根据具体的需求后端的商量来选择合适的实现方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Vue 最简单的实现input 输入框的模糊查询(不使用后端接口)](https://blog.csdn.net/Fxhani/article/details/108759121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【JavaScript源代码】Element-ui 自带的两种远程搜索(模糊查询)用法讲解.docx](https://download.csdn.net/download/mmoo_python/72013812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [实现 el-input 输入值,模糊搜索显示下拉选项功能代码](https://blog.csdn.net/weixin_43900414/article/details/114285324)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值