vue的input框的下拉关键词搜索
时间: 2024-03-23 16:41:31 浏览: 122
vue组件实践之可搜索下拉框功能
5星 · 资源好评率100%
要实现vue的input框下拉关键词搜索,可以借助于Element UI框架中的Autocomplete组件。
首先,在组件中引入Autocomplete组件:
```
<template>
<el-autocomplete v-model="selectedKeyword" :fetch-suggestions="querySearch" placeholder="请输入关键词">
<i class="el-icon-search" slot="prefix"></i>
<el-button slot="append" icon="el-icon-circle-check"></el-button>
</el-autocomplete>
</template>
<script>
export default {
data() {
return {
selectedKeyword: '',
keywords: ['vue', 'React', 'Angular', 'Webpack', 'Babel', 'Node.js', 'TypeScript', 'JavaScript']
}
},
methods: {
querySearch(queryString, cb) {
const keywords = this.keywords;
const results = queryString ? keywords.filter(keyword => keyword.toLowerCase().indexOf(queryString.toLowerCase()) !== -1) : keywords;
// 调用回调函数,将结果返回给Autocomplete组件
cb(results);
}
}
}
</script>
```
在上述代码中,我们使用了Element UI的Autocomplete组件来实现下拉关键词搜索框,使用了Autocomplete组件的fetch-suggestions属性来开启下拉搜索功能。在querySearch方法中,我们根据用户输入的关键词来过滤关键词列表,并将过滤后的结果返回给Autocomplete组件。
需要注意的是,在Autocomplete组件中,我们可以使用slot来添加前缀和后缀,这里我们添加了一个搜索图标和一个确认按钮。
这样,当用户在输入框中输入关键词时,会触发querySearch方法来搜索关键词,并将搜索结果以下拉列表的形式呈现在输入框下方供用户选择。
阅读全文