2016-11-21 5 views
-1

私は2つの列のcodeproduct、nmproductを持つテーブルを持っています。私は1つのフィールドだけをフィルタリングすれば成功しています。これは私のコードです:角2:パイプで複数のフィールドをフィルタ

@Pipe({ 
    name: 'productFilter' 
}) 

export class ProductFilterPipe implements PipeTransform { 

transform(value: IProduct[], args: string[]): IProduct[] { 
    let filter: string = args[0] ? args[0].toLocaleLowerCase() : null; 
    return filter ? value.filter((product: IProduct) => 
     product.productName.toLocaleLowerCase().indexOf(filter) !== -1) : value; 
} 
} 

どのように複数のフィールドcodeproductまたはnmproductでフィルタリングするのですか?あなたの質問を理解することが

答えて

2

ハードありがとう..しかし、多分これは役立ちます:

@Pipe({ 
    name: 'productFilter' 
}) 

export class ProductFilterPipe implements PipeTransform { 
    transform(value: IProduct[], filter: string): IProduct[] { 
     filter = filter ? filter.toLocaleLowerCase() : ''; 
     return filter && value ? 
     value.filter(product => 
      (product.productName.toLocaleLowerCase().indexOf(filter) !== -1) || 
      (product.??npmName??.toLocaleLowerCase().indexOf(filter) !== -1) 
     ) : 
     value; 
    } 
} 
+0

を私は私の英語が悪い申し訳ありません。私はあなたに感謝しようとします – sembilanlangit

+1

それは本当に壮大なコードです。ありがとう – paqogomez