Vue实现模糊查询

在Vue中实现模糊查询,你可以使用JavaScript的filterincludes方法,结合Vue的v-for指令。下面是一个简单的例子:

首先,你需要在你的Vue实例中定义一个数据数组和一个查询字符串。

data() {
return {
items: ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry'],
query: ''
}
}

然后,你可以在你的模板中使用v-for来遍历这个数组,并使用v-model来绑定查询字符串。

<input v-model="query" type="text" placeholder="Search...">
<ul>
<li v-for="item in filteredItems" :key="item">
{
   { item }}
</li>
</ul>

在上面的代码中,filteredItems是一个计算属性,它会返回过滤后的数组。你可以使用JavaScript的filterincludes方法来实现模糊查询。

computed: {
filteredItems() {
return this.items.filter(item => item.toLowerCase().includes(this.query.toLowerCase()));
}
}

在上面的代码中,filter方法会遍历数组中的每个元素,并返回一个新的数组,该数组只包含满足条件的元素。includes方法会检查一个字符串是否包含另一个字符串。在这个例子中,我们使用toLowerCase方法将字符串转换为小写,以便进行不区分大小写的查询。

当使用Vue3实现模糊查询时,你可以利用Vue的响应式特性和计算属性来实现。下面是一个简单的说明和代码示例:

说明:

  1. 创建一个Vue3组件,并引入必要的依赖。
  2. 在组件的setup()函数中,定义数据和计算属性。
  3. 使用v-model指令将输入框的值绑定到数据属性上。
  4. 定义一个计算属性filteredItems,根据输入框的值过滤数据数组。
  5. 在模板中使用v-for指令遍历过滤后的数据数组,并显示每个元素。

代码示例:

<template>
<div>
<input v-model="searchQuery" type="text" placeholder="Search...">
<ul>
<li v-for="item in filteredItems" :key="item.id">
{
   { item.name }}
</li>
</ul>
</div>
</template>

<script>
import { ref } from 'vue';

export default {
setup() {
const items = ref([
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Cherry' },
{ id: 4, name: 'Date' },
{ id: 5, name: 'Elderberry' }
]);
const searchQuery = ref('');
const filteredItems = computed(() => {
if (!searchQuery.value) return items.value;
return items.value.filter(item => item.name.toLowerCase().includes(searchQuery.value.toLowerCase()));
});
return { items, searchQuery, filteredItems };
}
};
</script>

在上面的代码中,我们首先导入了Vue3的ref函数,用于创建响应式引用。然后,在组件的setup()函数中,我们定义了两个响应式引用itemssearchQuery,分别表示数据数组和查询字符串。接下来,我们定义了一个计算属性filteredItems,根据输入框的值过滤数据数组。最后,在模板中,我们使用v-model指令将输入框的值绑定到searchQuery上,并使用v-for指令遍历filteredItems数组,显示每个项目的名称。当输入框的值发生变化时,计算属性会自动更新,并触发重新渲染。

相关推荐

  1. Vue实现模糊查询

    2024-01-09 01:40:01       63 阅读
  2. Vue || Uniapp 模糊查询

    2024-01-09 01:40:01       54 阅读
  3. Django ORM 模糊查询实例解析

    2024-01-09 01:40:01       55 阅读
  4. vue3中a-select的模糊查询

    2024-01-09 01:40:01       35 阅读
  5. SQL实现模糊查询的四种方法总结

    2024-01-09 01:40:01       49 阅读
  6. 分词组合加密实现加密后可模糊查询

    2024-01-09 01:40:01       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-09 01:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-09 01:40:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-09 01:40:01       82 阅读
  4. Python语言-面向对象

    2024-01-09 01:40:01       91 阅读

热门阅读

  1. VUE3-响应式

    2024-01-09 01:40:01       55 阅读
  2. QLabel文字两端对齐解决方案

    2024-01-09 01:40:01       64 阅读
  3. 五种主流数据库:字符串匹配

    2024-01-09 01:40:01       59 阅读
  4. Namp扫描工具的使用

    2024-01-09 01:40:01       57 阅读
  5. ROS-Ubuntu20.04安装noetic

    2024-01-09 01:40:01       64 阅读
  6. Python深拷贝、浅拷贝详解

    2024-01-09 01:40:01       54 阅读
  7. pod进阶

    pod进阶

    2024-01-09 01:40:01      43 阅读
  8. LeetCode119. Pascal‘s Triangle II

    2024-01-09 01:40:01       63 阅读