简体   繁体   English

Angular 2:使用管道过滤多个字段

[英]Angular 2 : filter multiple fields with Pipe

i have table with two column codeproduct, nmproduct. 我有两列codeproduct,nmproduct的表。 i have been success if only filter one field. 如果只过滤一个字段,我就成功了。 this is my code : 这是我的代码:

@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;
}
}

how to filter with multiple fields codeproduct or nmproduct? 如何使用多字段codeproduct或nmproduct进行过滤? thank you 谢谢

Hard to understand your question.. But maybe this will help: 很难理解您的问题。但这也许会有所帮助:

@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;
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM