如何在angular2中创建一个独特的滤镜滤镜组件

时间:2017-11-24 08:15:39

标签: angular

variants: [{"vType":"red"},{"vType":"red"},{"vType":"black"}]

我需要使用过滤器来获得独特的颜色,因为只有“红色和黑色”使用

<select class="form-control" [(ngModel)]="selectedVariant" (ngModelChange)="changeVariant(selectedVariant)" >
  <option  *ngFor="let c of selection">{{c.vType}}</option>
</select>

如何创建自定义过滤器以过滤唯一颜色。

1 个答案:

答案 0 :(得分:1)

如果您想构建自定义过滤器,可以查看docs / tuto here

要获得您的独特收藏,您可以使用lodash _.uniqBy function或使用reduce(from this StackOverflow post

进行自定义实施
variants = [{"vType":"red"},{"vType":"red"},{"vType":"black"}];
uniqueVariants = variants.reduce(function(accumulatedVariants, variant) {
    if (!accumulatedVariants.find(v => v.vType === variant.vType)) {
          accumulatedVariants.push(c);
    }
    return accumulatedVariants;
}, []);