vue elementui 实现异步搜索功能,el-autocomplete带有提示的搜索

5 篇文章 0 订阅
2 篇文章 0 订阅

vue elementui 实现异步搜索功能,el-autocomplete带有提示的搜索

效果图

在这里插入图片描述
樱花背景特效教程链接:樱花背景特效教程

vue中html调用

属性作用
input是搜索框内容的数据双向绑定
querySearch是即时处理(在此方法里调用axios方法并返回提示)
handleSelect是点击提示之后的操作(我这写的是跳转博客页面)

<div id="inline-input" >
            <el-autocomplete
                    class="inline-input"
                    v-model="input"
                    :fetch-suggestions="querySearch"
                    placeholder="搜索博客"
                    :trigger-on-focus="false"
                    @select="handleSelect">
            </el-autocomplete>
        </div>

在script标签中

queryString是输入的内容(即用户搜索的内容)
this.searchBlog(queryString)是我的axios方法

method:{
	querySearch(queryString, cb) {
                var sblogs=[]
                this.searchBlog(queryString).then(res=>{
                    // console.log(res.data.data.length)
                    if(res.data.data.length==0){
                    //没有找到
                        sblogs.push({id:0,value:'没有找到该博客'})
                    }else{
                        for(let i=0;i<res.data.data.length;i++){
                        //转换成id和value属性的对象数组
                            sblogs.push({id: res.data.data[i].blogId,value: res.data.data[i].title})
                        }
                    }
                })
                //返回提示
                cb(sblogs);
            },
            handleSelect(item) {
                if(item.id!=0){
                    //点击提示后需要做的操作,例如跳转页面等
                }
            },
},
data:function(){
	return{
		input: '',
        select: '',
	}
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 3中实现自动完成下拉列表的方法很简单,可以使用Vue.js提供的指令和组件的功能实现。 首先,你需要引入ElementUI库,它是一个基于Vue.js的组件库,提供了非常好用的组件和指令。其中el-autocomplete是用来实现输入框的自动完成下拉列表的组件。 接下来,你需要在Vue.js的template(模板)中使用el-autocomplete组件,最基本的使用方法如下: ```html <template> <el-autocomplete v-model="value" :fetch-suggestions="querySearch" placeholder="请输入" /> </template> ``` 在这里,v-model用来绑定输入框的值,placeholder用来设置输入框的提示语,:fetch-suggestions用来绑定一个函数,该函数会在输入框输入时被调用,它的返回值是一个数组,用来显示下拉列表中的选项。 接下来,你需要在Vue.js的script(脚本)中实现querySearch函数,该函数需要返回一个Promise对象,用来异步获取输入框输入后的联想词,例如: ```javascript <script> import { ref } from 'vue'; import { fetchSuggestions } from '@/api/suggestion.js'; export default { setup() { const value = ref(''); const querySearch = async (queryString) => { return await fetchSuggestions(queryString); }; return { value, querySearch, }; }, }; </script> ``` 在这里,我们用了Vue.js 3中新增的setup函数,在该函数中,我们使用了ref定义了value变量,并定义了querySearch函数,该函数使用async/await实现异步调用了一个api/suggestion.js的函数fetchSuggestions,该函数的接口可以根据自己的实际需求进行实现。 最后,你需要在Vue.js的style(样式)中引入ElementUI的样式,以确保el-autocomplete组件正常显示: ```css @import "element-plus/packages/theme-chalk/src/index.scss"; ``` 综上所述,使用Vue.js 3和ElementUI实现输入框的自动完成下拉列表功能就这么简单,你只需要引入库、定义组件和指令、实现函数即可。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值