el-autocomplete模糊查询
时间: 2023-04-25 18:04:15 浏览: 149
el-autocomplete是一个基于Element UI的自动完成组件,它支持模糊查询。模糊查询是指在输入框中输入关键词时,自动完成组件会根据关键词匹配数据源中的内容,并将匹配的结果显示在下拉列表中。用户可以通过选择下拉列表中的某一项来完成输入。模糊查询可以提高用户的输入效率和体验,使用户更快地找到所需的内容。
相关问题
el-autocomplete 模糊搜索
el-autocomplete是饿了么框架中的一个组件,可以实现模糊搜索功能。具体实现的思路方式要和后端商量,但一般来说,前端需要将用户在输入框中输入的关键词发送给后端,后端再根据这个关键词进行模糊查询,将查询结果返回给前端展示出来。
关于el-autocomplete的模糊搜索实现,可以参考以下步骤:
. 创建一个方法,比如createFilter,该方法接收一个参数queryString,表示用户输入的关键词。
2. 在该方法中,使用toLowerCase()方法将queryString和restaurant.value都转换为小写字母,以便进行大小写不敏感的比较。
3. 使用indexOf()方法,判断restaurant.value是否包含queryString。如果包含,返回true,否则返回false。
4. 根据需求,可以对原有的createFilter方法进行修改,比如将索引匹配的判断条件从索引为0的位置改为包含关系,即将===改为!==。
5. 将修改后的createFilter方法应用到el-autocomplete组件中的filter-method属性中,以实现模糊搜索的效果。
el-autocomplete 模糊搜索示例
el-autocomplete是一个基于Element UI的自动完成组件,可以实现输入框的模糊搜索功能。下面是一个el-autocomplete的模糊搜索示例:
```html
<template>
<el-autocomplete
v-model="state.RWMC"
:fetch-suggestions="rwquerySearch"
placeholder="关键字匹配"
/>
</template>
<script>
import { reactive } from 'vue';
export default {
setup() {
const state = reactive({
timeout: null,
RWMC: '',
});
//获取输入建议的方法,回调函数返回
const rwquerySearch = async (queryString, cb) => {
clearTimeout(state.timeout);
var results = [];
if (queryString == '') {
cb(results);
} else {
//掉接口需要的参数
let find = {
name: queryString, //上面输入框绑定的数据
};
try {
// 请求后端的接口数据赋值给result
let result = [
{ id: 1, name: '123' },
{ id: 2, name: '1111' },
];
if (result) {
//循环放到一个远程搜索需要的数组
for (let i = 0; i < result.length; i++) {
const element = result[i];
results.push({ value: element.name, id: element.id });
}
cb(results);
} else {
results = [];
cb(results);
}
} catch (error) {
console.log(error);
}
}
};
return {
state,
rwquerySearch,
};
},
};
</script>
```
在这个示例中,el-autocomplete组件的v-model绑定了state.RWMC,fetch-suggestions绑定了rwquerySearch方法,placeholder设置了输入框的提示信息。rwquerySearch方法是获取输入建议的方法,当输入框中的内容发生变化时,会调用该方法进行模糊搜索。在该方法中,我们可以通过调用后端接口获取搜索结果,并将结果放到一个远程搜索需要的数组中,最后通过回调函数cb返回结果。