首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在点击"selectAll“时以及在选择任何过滤器之前显示所有产品?

如何在点击"selectAll“时以及在选择任何过滤器之前显示所有产品?
EN

Stack Overflow用户
提问于 2020-12-07 22:29:42
回答 1查看 20关注 0票数 0

**我正在用Vue & Firebase创建一个网络商店。过滤器工作,但我希望它显示所有的产品,然后再选择一个特定的过滤器。以下是过滤器的链接,此外,我还有一个显示所有产品的链接:**

代码语言:javascript
复制
<v-list-item link>
  <v-list-item-content @click="selectAll()">
    <v-list-item-title>All Categories</v-list-item-title>
  </v-list-item>
<v-list-item link>
  <v-list-item-content @click="selectElectronics()">
    <v-list-item-title>Electronics & Lights</v-list-item-title>
  </v-list-item-content>
 </v-list-item>
 <v-list-item link>
    <v-list-item-content @click="selectKitchen()">
      <v-list-item-title>Kitchen</v-list-item-title>
    </v-list-item-content>
 </v-list-item>
 <v-list-item link>
   <v-list-item-content @click="selectHobbies()">
      <v-list-item-title>Hobbies & Free-time</v-list-item-title>
   </v-list-item-content>
 </v-list-item>

<v-col
             sm="5"
             md="6"
             v-for="item in filterCategoryItems"
             :key="item.name"
           >

**需要在计算中进行哪些更改才能正常工作?它以前对注释行起作用,但现在我不知道渲染错误的原因:"TypeError: Cannot read property 'includes‘of undefined“**

代码语言:javascript
复制
   export default {
 data() {
return {
categoryChoice: "",
};
 },
 methods: {
   selectAll() {
     this.categoryChoice = "";
   },
   selectElectronics() {
     this.categoryChoice = "electronics";
   },
   selectKitchen() {
     this.categoryChoice = "kitchen";
   },
   selectHobbies() {
     this.categoryChoice = "hobbies";
   },

computed: {
   filterCategoryItems() {
     return this.menuItems.filter(
       filterItem => filterItem.category == this.categoryChoice 
     //    (filterItem) => filterItem.category.includes(this.categoryChoice) 
     );
 },
 menuItems() {
     return this.$store.getters.getMenuItems;
   },
   basket() {
     return this.$store.getters.getBasketItems;
   },
   favItems() {
     return this.$store.getters.getFavItems;
   },
 },
};
EN

回答 1

Stack Overflow用户

发布于 2020-12-08 00:51:47

你的脚本没有正确构建。如果你修复了缩进,你可能已经注意到了。另外,data()应该返回一个对象:

代码语言:javascript
复制
<script>
export default {
  data() {
    return {
      categoryChoice: ""
    };
  },
  methods: {
    selectAll() {
      this.categoryChoice = "";
    },
    selectElectronics() {
      this.categoryChoice = "electronics";
    },
    selectKitchen() {
      this.categoryChoice = "kitchen";
    },
    selectHobbies() {
      this.categoryChoice = "hobbies";
    }
  },
  computed: {
    filterCategoryItems() {
      return this.menuItems.filter(
        (filterItem) => filterItem.category == this.categoryChoice
        //    (filterItem) => filterItem.category.includes(this.categoryChoice)
      );
    },
    menuItems() {
      return this.$store.getters.getMenuItems;
    },
    basket() {
      return this.$store.getters.getBasketItems;
    },
    favItems() {
      return this.$store.getters.getFavItems;
    }
  }
};
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65183633

复制
相关文章

相似问题

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