vue2实现模糊查询的代码
时间: 2024-05-06 16:17:44 浏览: 60
在 Vue2 中实现模糊查询,一般可以使用 filter 过滤器或 computed 计算属性来实现。下面是一个使用 filter 过滤器的例子:
```
<template>
<div>
<input v-model="keyword" placeholder="搜索关键词">
<ul>
<li v-for="item in filteredList">{{ item }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
list: ['apple', 'banana', 'orange', 'pear'],
keyword: ''
}
},
filters: {
fuzzySearch(list, keyword) {
if (!keyword) return list
return list.filter(item => item.indexOf(keyword) > -1)
}
},
computed: {
filteredList() {
return this.list.filter(item => item.indexOf(this.keyword) > -1)
}
}
}
</script>
```
在上面的例子中,定义了一个 `list` 数组和一个 `keyword` 变量,用于存储输入的关键词。同时,使用了一个 input 元素来绑定 `keyword` 变量。
接着,使用了一个 filter 过滤器 `fuzzySearch` 来实现模糊查询。该过滤器接收两个参数:`list` 和 `keyword`。当 `keyword` 为空时,返回整个数组 `list`;否则,返回一个新的数组,其中只包含符合条件的元素。
最后,在模板中使用 `filteredlist` 计算属性来展示过滤后的列表。
注意:由于 filter 过滤器在 Vue3 中已经废弃,推荐使用计算属性或方法来实现同样的功能。
阅读全文