Vue实现模糊查询的简单示例

 更新时间:2024年01月05日 09:23:46   作者:无妄的罪  
在Vue中实现模糊查询,你可以使用JavaScript的filter和includes方法,结合Vue的v-for指令,本文给大家举了一个简单的示例,并通过代码示例给大家介绍的非常详细,需要的朋友可以参考下

在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的响应式特性和计算属性来实现。下面是一个简单的说明和代码示例:

说明:

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

以上就是Vue实现模糊查询的简单示例的详细内容,更多关于Vue实现模糊查询的资料请关注脚本之家其它相关文章!

相关文章

  • vue配置多个form表单实现方式

    vue配置多个form表单实现方式

    文章分享了作者在处理多个form表单和动态select框下拉选择项时遇到的问题和解决方案,作者首先提到使用空数组塞值不方便,于是将options配置为对象属性值,以简化操作,作者希望自己的经验能给大家带来参考,并鼓励大家支持脚本之家
    2026-02-02
  • vue实现PC端录音功能的实例代码

    vue实现PC端录音功能的实例代码

    这篇文章主要介绍了vue实现PC端录音功能的实例代码,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Vue2.0点击切换类名改变样式的方法

    Vue2.0点击切换类名改变样式的方法

    今天小编就为大家分享一篇Vue2.0点击切换类名改变样式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Vue数据变化监听错误的常见原因与解决方案

    Vue数据变化监听错误的常见原因与解决方案

    在 Vue.js 开发中,watch 是一个强大的工具,用于监听数据的变化并执行相应的操作,然而,许多开发者在使用 watch 时会遇到数据变化未被正确监听的问题,这可能导致程序逻辑错误或视图更新失败,本文将探讨这些问题的常见原因,并提供相应的解决方案,需要的朋友可以参考下
    2025-03-03
  • Vue中引入swiper报错的问题及解决

    Vue中引入swiper报错的问题及解决

    这篇文章主要介绍了Vue中引入swiper报错的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue双向锚点实现过程简易版(scrollIntoView)

    vue双向锚点实现过程简易版(scrollIntoView)

    这篇文章主要介绍了vue双向锚点实现过程简易版(scrollIntoView),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • vue5中的事件修饰符(style)和template

    vue5中的事件修饰符(style)和template

    这篇文章主要介绍了vue5中的事件修饰符(style)和template,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue中根据时间戳判断对应的时间(今天 昨天 前天)

    vue中根据时间戳判断对应的时间(今天 昨天 前天)

    这篇文章主要介绍了vue中 根据时间戳 判断对应的时间(今天 昨天 前天),需要的朋友可以参考下
    2019-12-12
  • Vue实现户籍管理系统户籍信息的添加与删除方式

    Vue实现户籍管理系统户籍信息的添加与删除方式

    这篇文章主要介绍了Vue实现户籍管理系统户籍信息的添加与删除方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue2.0使用swiper组件实现轮播的示例代码

    vue2.0使用swiper组件实现轮播的示例代码

    下面小编就为大家分享一篇vue2.0使用swiper组件实现轮播的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论