在输入框输入文本,点击按钮调用接口得到数据,并把搜索的数据通过el-autocomplete展示
时间: 2024-12-12 19:26:27 浏览: 9
在前端开发中,当你需要用户在输入框中输入文本并触发搜索功能时,可以使用Vue.js框架配合Element UI库来实现这个需求。`el-autocomplete`是Element UI提供的一款自动完成组件,它非常适合用于搜索相关的场景。
以下是大致步骤:
1. 首先,在HTML部分,引入Element UI库,并创建一个`<el-autocomplete>`元素:
```html
<template>
<div>
<el-input v-model="searchText" placeholder="请输入关键词"></el-input>
<el-autocomplete
:fetch-suggestions="querySearch"
placeholder="搜索..."
@select="handleSelect"
:trigger-on-focus="false"
></el-autocomplete>
</div>
</template>
```
2. 在Vue实例的data里,定义searchText变量来存储用户的输入:
```javascript
export default {
data() {
return {
searchText: '',
// 其他数据...
};
},
// ...
}
```
3. 定义`querySearch`方法,当用户输入发生变化时,调用后端API获取搜索建议:
```javascript
methods: {
querySearch(query) {
const url = 'your-api-url'; // 替换为实际的接口地址
this.$axios.get(url, { params: { q: query } })
.then(response => response.data)
.then(suggestions => suggestions.filter(item => item.value.includes(query)))
.catch(error => console.error('Error fetching suggestions', error))
.finally(() => { /* 更新UI */ });
},
handleSelect(item) {
// 当用户选择一项时,处理选中的操作
}
}
```
4. 这里的`fetch-suggestions`属性会触发API请求,当后端返回匹配的搜索结果时,`@select`事件会被触发,`handleSelect`方法会被调用,你可以在这里处理用户的最终选择。
阅读全文