2017-08-20 2 views
0

私はそのようなパイープを持っており、それはカラムのためだけに機能します。複数列のパイプをフィルタにするには?

 
export class FilterBook2 implements PipeTransform {

transform(items: Book[], filter: Book): any { if (!items || !filter) { return items; } // filter items array, items which match and return true will be kept, false will be filtered out return items.filter((item) => item.Nazwa.indexOf(filter.Nazwa) || item.Autor.indexOf(filter.Autor) !== -1) }

}

入力日付:

filterargs = {Nazwa: ""、Autor: ""}

答えて

0

私はあなたが複数の引数の書籍をフィルタ処理しようとしていると思います。問題はparamarsを渡すことではありません

<div *ngFor="let book of books | filterBook2 : firstArg : secondArg"> 
    ... 
</div> 

とパイプクラスの

export class FilterBook2 implements PipeTransform { 
    transform(items: Book[], firstArg: Book, secondArg: any): any { 
     // your logic here 
    } 
} 
+0

:あなたはこのような変換関数をパイプに複数の値を渡すことができます。私はそう思う。問題は次の行にあるようです:return items.filter((item)=> item.Nazwa.indexOf(filter.Nazwa)|| item.Autor.indexOf(filter.Autor)!== -1) – Kamil

関連する問題