前言
今天碰到了需要用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>
效果圖:

總結:
這個是比較簡單的實現模糊搜索,不考慮節流等情況
場景二:
