首页 > 解决方案 > VueJS如何过滤一个mapgetter数组

问题描述

mapgetter在组件中有以下内容:

props: {
    hideSidebarText: { type: Boolean, default: false }
  },
  computed: mapGetters({
    menuItems: 'menuTypes',
  }),

此计算属性用于创建列表:

<div
          class="sidebar"
          v-for="item in menuItems"
          :key="item.name"
        >

该列表具有hidden我想过滤以仅显示hidden 为 false的元素的属性。

如何在计算部分中扩展 mapGetter,以便我可以在组件中进行过滤,如下所示:

 computed: {
     menuItems: function() {
       return this.menuItems.filter(function(u) {
         return u.hidden == false
     })
   }

标签: vue.jsvuex

解决方案


我以以下解决方案结束,不知道是否是正确的方法,但对我来说很有意义:

computed: {
    ...mapGetters({
      menuItems: 'menuTypes'
    }),
    filteredMenuItems: function() {
      return this.menuItems.filter(function(i) {
        return i.hidden == false;
      });
    }
  },

推荐阅读