2016-11-21 81 views
-1

我有两列的codeproduct,nmproduct表。如果只过滤一个字段,我一直很成功。这是我的代码:角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