2017-09-08 30 views
0

我有一个HTML表格管道过滤器角4 - 应用不同PARAM管道过滤器

import { Pipe, PipeTransform } from '@angular/core'; 

@Pipe({name: 'filterDescrip'}) 
export class FilterDescripPipe implements PipeTransform { 
    transform(particulars: any, searchText: any): any { 
    if(searchText == null) return particulars; 
    return particulars.filter(function(particular){ 
     if(searchText.match(/[a-z]/g)) 
     { 
     return particular.description.toLowerCase().indexOf(searchText) > -1; 
     } else { 
     return particular.description.toUpperCase().indexOf(searchText) > -1; 
     } 
     //return particular.description.toLowerCase().indexOf(searchText) > -1; 
    }) 
    } 
} 

我怎样才能从HTML代码diferentes PARAMS过滤发送,使用条件:

<tr *ngFor="let particular of particulars | filterDescrip: paramSearch | orderBy: {property: column, direction: direction}"> 

我可以使用以下条件:| filterDescrip:{},也许用一个表达式,会怎么样?

我有两个变量,我需要如下:如果变量paramSearch是空的或不确定的:

| filterDescrip: searchDescText 

但如果paramSearch有内容:

| filterDescrip: paramSearch 

感谢,

回答

1

试试这个:

<tr *ngFor="let particular of particulars | filterDescrip: (paramSearch || searchDescText) | orderBy: {property: column, direction: direction}"> 
+1

它工作正常,th anks :) – Eladerezador