vue实现模糊查询
前言
今天碰到了需要用vue实现模糊查询,故总结利于日后查(偷)询(懒)
分析
- 模糊匹配可以由前端或者后端完成,所以当组长要求你完成模糊匹配的时候,要分析情况:
- 前端实现模糊查询:当后端把数据一次性把数据返回的时候。这个也和分页情况一样,如果一次性把数据都给前端了,前端也可以做分页。
- 后端实现模糊查询:当后端是分页的情况,不能把数据一次性返回。比如有100条数据,分页10页,页面只显示10条数据,只能针对这10条。
场景一:
当已经知道了全部数据的时候:
<template>
<div id="app">
<input type="text" v-model="input" />
<ul>
<li
class="search-item border-bottom"
v-for="item of search"
:key="item.name"
>{{item.name}}</li>
</ul>
<!-- <router-view></router-view> -->
</div>
</template>
<script>
export default {
name: "app",
data() {
return {
items: [
{ name: "路飞" },
{ name: "索隆" },
{ name: "娜美" },
{ name: "山治" }
],
input: ""
};
},
computed: {
search() {
if (!this.input) {
return this.items;
}
return this.items.filter(v => {
return v.name.includes(this.input);
});
}
}
};
</script>
效果图:

总结:
这个是比较简单的实现模糊搜索,不考虑节流等情况
场景二:

浙公网安备 33010602011771号