首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用嵌套数组的Vue Js搜索示例

Vue.js是一种用于构建用户界面的JavaScript框架。它使用了一种名为"组件"的抽象概念,使得开发者可以轻松地构建可复用的UI模块。在这个问答内容中,我们将使用嵌套数组的Vue.js搜索示例作为示例。

Vue.js的嵌套数组搜索示例是一个展示如何利用Vue.js进行数据搜索和过滤的示例。它涉及到一个由嵌套数组构成的数据集合,用户可以通过输入关键字来过滤数据。

以下是一个完整的嵌套数组的Vue.js搜索示例的代码:

代码语言:txt
复制
<template>
  <div>
    <input type="text" v-model="keyword" placeholder="请输入关键字">
    <ul>
      <li v-for="item in filteredData" :key="item.id">
        {{ item.name }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      keyword: '',
      data: [
        {
          id: 1,
          name: 'Apple',
          fruits: [
            { id: 1, name: 'iPhone' },
            { id: 2, name: 'iPad' },
            { id: 3, name: 'MacBook' }
          ]
        },
        {
          id: 2,
          name: 'Samsung',
          fruits: [
            { id: 4, name: 'Galaxy S' },
            { id: 5, name: 'Galaxy Note' },
            { id: 6, name: 'Galaxy Tab' }
          ]
        },
        {
          id: 3,
          name: 'Google',
          fruits: [
            { id: 7, name: 'Pixel' },
            { id: 8, name: 'Nexus' }
          ]
        }
      ]
    }
  },
  computed: {
    filteredData() {
      if (this.keyword === '') {
        return this.data;
      } else {
        return this.data.filter(item => {
          return item.name.toLowerCase().includes(this.keyword.toLowerCase()) ||
                 item.fruits.some(fruit => fruit.name.toLowerCase().includes(this.keyword.toLowerCase()));
        });
      }
    }
  }
}
</script>

在上述代码中,我们首先在模板中创建一个文本输入框和一个用于展示过滤后数据的列表。用户可以通过输入关键字来动态地过滤数据。

data中,我们定义了一个嵌套数组的数据集合。每个对象包含一个name属性和一个fruits属性,fruits属性也是一个数组。这种嵌套数组的结构可以更好地组织和表示数据。

在计算属性filteredData中,我们通过使用filter方法对数据集合进行过滤。如果关键字为空,则返回整个数据集合;否则,我们使用filter方法来过滤name属性或者fruits数组中的元素是否包含关键字。

这个示例演示了如何利用Vue.js进行数据搜索和过滤的功能。你可以根据自己的需求进行扩展和定制。如果你想了解更多关于Vue.js的信息,可以查阅腾讯云的产品介绍页面:Vue.js产品介绍

希望这个答案能帮助到你!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券