Je filtrer les éléments à l'aide du tuyau pour filtrerfiltre de mise en œuvre tuyau de recherche
Mon entrée est déposé dans le fichier search.html et dans le fichier Liste de produits list.html
changement dans le modèle n'est pas déclencher la transformation du tuyau. S'il vous plaît aider. Voici l'extrait de code ci-dessous.
search.html
<input placeholder="keyword..." [(ngModel)]="search"/>
list.html
<div *ngFor="let item of items | searchPipe:'name':search ">
{{item.name}}
</div>
Search.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name : 'searchPipe',
})
export class SearchPipe implements PipeTransform {
public transform(value, key: string, term: string) {
return value.filter((item) => {
if (item.hasOwnProperty(key)) {
if (term) {
let regExp = new RegExp('\\b' + term, 'gi');
return regExp.test(item[key]);
} else {
return true;
}
} else {
return false;
}
});
}
}
créé petit Plunk [link] (http://plnkr.co/edit/jcvOHHJuqjYWdFmlQZB0?p=preview) et votre code semble bien ... pouvez-vous vérifier la fonctionnalité? – chrystian
Vous avez ajouté le champ de saisie de recherche dans le même modèle, cela fonctionnera. Mais le champ de saisie de recherche doit être dans un composant différent et remplir des éléments de liste dans un composant différent. – Sanjaybxl
Pouvez-vous fourchette et ajuster mon plunk à ce que vous voulez qu'il soit? – chrystian