2016-11-21 52 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