vue3实现模糊查询,并且当输入框里面没有输入值时,内容也不展示
时间: 2024-03-26 18:39:11 浏览: 124
vue实现Input输入框模糊查询方法
好的,针对您的问题,我来给您提供一个简单的实现思路。
首先,我们需要在Vue组件中定义一个data属性`searchText`,用来保存用户输入的搜索条件。然后,我们需要通过`computed`计算属性来过滤数据列表。
具体实现如下:
```html
<template>
<div>
<input type="text" v-model="searchText" placeholder="请输入搜索关键字">
<ul>
<li v-for="item in filteredList">{{ item }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
searchText: ''
}
},
computed: {
filteredList() {
if (this.searchText === '') {
return []
} else {
return this.list.filter(item => item.includes(this.searchText))
}
}
},
mounted() {
// 初始化数据列表
this.list = ['apple', 'banana', 'orange', 'pear', 'pineapple']
}
}
</script>
```
上述代码中,我们通过`v-model`指令将输入框的值与`searchText`数据属性绑定,然后通过`computed`计算属性来过滤数据列表。当用户没有输入搜索条件时,`filteredList`返回一个空数组,从而不展示任何内容。
当用户输入搜索条件时,我们通过`Array.prototype.filter()`方法来过滤数据列表,只展示包含搜索条件的数据。
需要注意的是,上述代码中的`list`数据列表需要在组件的`mounted`生命周期函数中进行初始化,您可以根据实际情况进行修改。
阅读全文