vue3实现el-autocomplete输入框输入实现下拉列表
时间: 2023-05-10 13:03:21 浏览: 448
在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库实现输入框的自动完成下拉列表功能就这么简单,你只需要引入库、定义组件和指令、实现函数即可。
阅读全文