element UI的带输入建议el-autocomplete 如果输入的值 列表里面没有则清楚输入框 代码展示
时间: 2024-02-05 21:10:59 浏览: 106
你可以在 `el-autocomplete` 的 `@change` 事件中监听输入框的值变化,然后判断输入框的值是否存在于列表中。如果不存在,则清空输入框的值。代码示例如下:
```vue
<template>
<el-autocomplete
v-model="value"
:fetch-suggestions="querySearch"
@change="handleChange"
></el-autocomplete>
</template>
<script>
export default {
data() {
return {
value: '',
suggestions: ['apple', 'banana', 'orange']
};
},
methods: {
querySearch(queryString, cb) {
const suggestions = this.suggestions.filter(item => {
return item.toLowerCase().indexOf(queryString.toLowerCase()) !== -1;
});
cb(suggestions);
},
handleChange(value) {
if (this.suggestions.indexOf(value) === -1) {
this.value = '';
}
}
}
};
</script>
```
在上面的代码中,我们定义了一个 `suggestions` 数组,其中包含了几个水果的名称。在 `querySearch` 方法中,我们根据输入框的值过滤出匹配的建议项。在 `handleChange` 方法中,我们判断输入框的值是否存在于 `suggestions` 数组中,如果不存在,则清空输入框的值。
阅读全文