首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VUE.js中使用输入字段搜索类别

问在VUE.js中使用输入字段搜索类别
EN

Stack Overflow用户
提问于 2022-05-20 13:18:21
回答 1查看 85关注 0票数 0

我有个小问题,如果有人能帮我,我会非常感激的。

我必须列出每个类别的类别和子类别。我必须放置一个输入字段来搜索类别和子类别的标题,但是我不知道如何在vue.js中这样做。

例如,如果我有这样的东西

第1类水果与亚类香蕉,苹果。

第2类有子类别的书籍--戏剧、浪漫

如果我在搜索字段中写水果,它应该返回果树(香蕉,苹果)。如果我在搜索字段中写浪漫,它应该返回图书(浪漫)

提前感谢!

​

代码语言:javascript
复制
<table>
<input type="text" v-model="search" placeholder="Search">
 <div> <p>Fruit</p> </div>
<tr v-for="fruit in fruits" :key="fruit.id">
                                
<div v-if="fruit.id == 1" >                             
<a href="Banana" target="_blank">{{fruit.name}}</a>      
</div>
<div v-if="fruit.id == 2" >                             
<a href="Apple" target="_blank">{{fruit.name}}</a>                                   </div>        
</tr>
<br>
<div> <p>Books</p> </div>
<tr v-for="book in books" :key="book.id">
                                
<div v-if="book.id == 1" >                             
<a href="Drama" target="_blank">{{book.name}}</a>      
</div>
<div v-if="fruit.id == 2" >                             
<a href="Romance" target="_blank">{{book.name}}</a>                                   </div>        
</tr>
</table>


data() {
   return {
search:'',
fruititems: [
{name:Banana, id:1},
{name:Apple}, id:2}
],
bookitems: [
{name:Drama, id:1},
{name:Romance}, id:2}
],
}}

computed:{
fruits() {
 return this.fruits.filter(fruit => 
 fruit.name.toLowerCase().includes(this.search.toLowerCase()))},
books() {
 return this.books.filter(book => 
 fruit.name.toLowerCase().includes(this.search.toLowerCase()))},
}

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-20 15:20:35

我相信这样的事?https://stackblitz.com/edit/vue2-vue-cli-pvbeex?file=src%2FApp.vue

保存代码历史记录

​

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<template>
  <div>
    <input type="text" v-model="search" />
    <div v-for="category in getfiltered">
      <h2>{{ category.name }}</h2>
      <ul>
        <li v-for="sub in category.subCategories">
          {{ sub }}
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
export default {
  data: () => ({
    search: '',
    categories: [
      {
        name: 'fruits',
        subCategories: ['Apple', 'Banana'],
      },
      {
        name: 'books',
        subCategories: ['Drama', 'Romance'],
      },
    ],
  }),
  computed: {
    getfiltered: function () {
      return this.categories.filter((category) => {
        return (
          this.search.length < 2 ||
          category.name.includes(this.search) ||
          category.subCategories.find((sub) => sub.includes(this.search))
        )
      })
    },
  },
}
</script>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72319603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档