2017-05-24 9 views
0

パイプを使用してリストをフィルタリングしようとしています。期待していませんでした。パイプにフィールド値inputを送信する方法がわかりません。ここパイプを使って角度2のリストをフィルタリングする方法は?

私は「」それだけでリスト

import { Pipe, PipeTransform } from '@angular/core'; 


@Pipe({ name: 'listpipe' }) 
export class ListPipe implements PipeTransform { 
    transform(items: any[], filter: string) { 
    if (!items || !filter) { 
      return items; 
     } 
    return items.filter(item => item.name.indexOf(filter) !== -1); 
    } 
} 

答えて

2

に「ABC」を表示する必要がありますが、値の文字列(入力テキストの値を渡すのを忘れて入力したときに私のコード

https://plnkr.co/edit/WFMo8Az7BSJaRJAVVxyE?p=preview です)をフィルタに追加します。

ように、コンポーネントクラスで、それは次のようになります。

<li *ngFor="let l of v | listpipe:values">{{l.name}}</li> 

の代わりに:

<li *ngFor="let l of v | listpipe">{{l.name}}</li> 

あなたは公式ドキュメント内のパイプのパラメータのより多くの情報を見つけることができます:https://angular.io/docs/ts/latest/guide/pipes.html#parameterizing-a-pipe

関連する問題