je suis en train de faire un tuyau souple pour filtrer mon tableau d'objets pour l'afficher avec * ngFortuyau souple pour filtrer les objets
<div class="wrapper" *ngFor="let item of items | myFilter:property:true">
par exemple, je veux montrer div seulement pour objet avec une véritable propriété:
[
{'name':'first', 'property': 'true'},
{'name':'last', 'property': 'false'}
]
Il semble ne pas fonctionner lorsque je tente de définir la propriété dynamique comme celui-ci
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'myFilter'
})
export class FilterPipe implements PipeTransform {
transform(items: any[], key: any, value: any): any {
return items.filter(item => item[key] === value ? item : null);
}
}
J'ai essayé aussi ce
item['"' + key + '"']
et cela (avec des chaînes de modèle de ES6)
item[`"$key"`]
mais cette conduite fonctionne bien si j'appelle propriété droit comme celui-ci
item.property
Et je vraiment besoin de faire plus flexible, parce que j'ai beaucoup de situations dans mon application où j'ai besoin de filtrer les éléments par différentes valeurs de propriétés
Vérifiez cela: http://stackoverflow.com/questions/41672578/filter-on-multiple-columns-using-one-pipe-angular-2/41841674#41841674 –