vue2模糊查询的代码
时间: 2023-04-05 15:00:20 浏览: 66
以下是一个简单的 Vue2 模糊查询的代码示例:
```
<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 {
list: ['苹果', '香蕉', '橙子', '草莓', '葡萄'],
searchText: ''
}
},
computed: {
filteredList() {
return this.list.filter(item => item.includes(this.searchText))
}
}
}
</script>
```
希望能对你有所帮助。
相关问题
vue3模糊查询代码
以下是一个简单的 Vue 3 模糊查询示例代码:
```html
<template>
<div>
<input type="text" v-model="searchText" placeholder="Search...">
<ul>
<li v-for="item in filteredItems" :key="item.id">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
import { ref, computed } from 'vue';
export default {
setup() {
const items = ref([
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Orange' },
{ id: 4, name: 'Grapes' },
]);
const searchText = ref('');
const filteredItems = computed(() => {
return items.value.filter(item => {
return item.name.toLowerCase().includes(searchText.value.toLowerCase());
});
});
return {
searchText,
filteredItems,
};
}
}
</script>
```
该代码中,我们使用 `ref` 函数创建了两个响应式变量 `items` 和 `searchText`,并使用 `computed` 创建一个计算属性 `filteredItems` 来根据搜索文本过滤 `items` 数组。在模板中,我们绑定 `searchText` 到输入框的 `v-model` 上,并使用 `v-for` 循环渲染过滤后的 `filteredItems` 数组。
vue3模糊查询的代码
在 Vue 3 中,可以使用 `computed` 计算属性和 `watch` 监听器来实现模糊查询。以下是一个简单的例子:
```html
<template>
<div>
<input v-model="searchText" placeholder="输入关键字搜索">
<ul>
<li v-for="item in filteredItems" :key="item.id">{{ item.name }}</li>
</ul>
</div>
</template>
<script>
import { ref, computed, watch } from 'vue';
export default {
setup() {
const items = ref([
{ id: 1, name: '苹果' },
{ id: 2, name: '香蕉' },
{ id: 3, name: '橙子' },
{ id: 4, name: '菠萝' },
{ id: 5, name: '西瓜' },
]);
const searchText = ref('');
// 计算属性,根据搜索关键字过滤 items
const filteredItems = computed(() => {
return items.value.filter(item => {
return item.name.includes(searchText.value);
});
});
// 监听 searchText,当其改变时重新计算 filteredItems
watch(searchText, () => {
filteredItems.value;
});
return {
searchText,
filteredItems,
};
},
};
</script>
```
这段代码中,我们使用了 `ref` 创建了 `items` 和 `searchText` 两个响应式变量。然后使用 `computed` 创建了一个 `filteredItems` 计算属性,用于根据搜索关键字过滤 `items`。最后使用 `watch` 监听 `searchText` 的变化,当其改变时重新计算 `filteredItems`。在模板中,我们使用 `v-for` 循环渲染 `filteredItems`,并使用 `v-model` 绑定 `searchText` 的值。用户输入关键字时,`filteredItems` 会自动更新并渲染到页面上。