首页 > 解决方案 > 过滤计算属性不返回所有元素

问题描述

我做了一个过滤器来显示基于所选模型类型的颜色。因此,例如,如果类型 x1 是显示,那么我将返回包含此模型的所有颜色。请参见下面的结构示例:

      {
        "colorName": "anthrazitbraunmetallic ",
        "colourHex": {
          "hex": "#2D2829"
        },
        "id": "58963584",
        "relatedModels": [
          {
            "id": "48354230",
            "modelName": "typex1"
          },
          {
            "id": "48355531",
            "modelName": "txpex3"
          },
          {
            "id": "48355536",
            "modelName": "typex5"
          }
        ]
      },
      {
        "colorName": "aquablaumetallic",
        "colourHex": {
          "hex": "#021546"
        },
        "id": "58963586",
        "relatedModels": [
          {
            "id": "48355512",
            "modelName": "typex0"
          },
          {
            "id": "48354230",
            "modelName": "typex1"
          }
        ]
      },
      {
        "colorName": "arenarotmetallic ",
        "colourHex": {
          "hex": "#450916"
        },
        "id": "58964875",
        "relatedModels": [
          {
            "id": "48355531",
            "modelName": "typex3"
          },
          {
            "id": "48355536",
            "modelName": "typex5"
          }
        ]
      },
      {
        "colorName": "argusbraunmetallic",
        "colourHex": {
          "hex": "#322C2C"
        },
        "id": "58965372",
        "relatedModels": [
          {
            "id": "48355540",
            "modelName": "typex4"
          }
        ]
      },

过滤器正在工作,我没有错误,但是我注意到了一些东西,没有返回所有寄存器。目前我正在使用无头模型,并且每个模型的颜色数量,例如对于“类型 x3”,基于系统过滤器和 excel 寄存器,但我只得到 69 我想得到 112颜色,我对所有颜色都有相同的行为,我只得到了我认为的颜色的一半左右。我想知道是否与我的过滤器有关:

colorByModel() {
    var objectColours = this.colours.allCatalogColours;
    const result = objectColours.filter((item) => {
      return (
        item.relatedModels.findIndex((m) => m.modelName == this.$route.matched[0].name) >
        -1
      );
   
    });
    return result;

  },

我想知道是否与 findIndex 函数有关,我也尝试过使用“find”,但两者的结果相同,所以我不确定我做错了什么。

预先感谢您的帮助

标签: javascriptvuejs3

解决方案


推荐阅读