2016-10-02 6 views
0

私は検索バーを持っており、受信したjsonまたはオブジェクトの配列のすべての文字列または列を検索したいと思っています。作成します。だから私は自分のテーブルでこの結果を更新することができます。ArrayのすべてのコンテンツのパイプをJSON形式で検索、フィルタリングする角度2

私は今、カスタムパイプのまで持っている:パイプ

<tbody *ngIf="usersBool"> 
<tr *ngFor="let entry of content | filterArrayOfObjects: filterInput" > 
    <td>{{entry.value.enrollmentId}}</td> 
    <td>{{entry.value.firstName}}</td> 
    <td>{{entry.value.LastName}}</td> 
    <td>{{entry.value.typeOfUser}}</td> 
    <td>edit</td> 
    <td>delete</td> 

</tr> 
</tbody> 
を呼び出して、表中(私がしようとしている何をしません)

transform(items: any[], args:string): any { 
    let keys = []; 
    for (let key in items) { 
      keys.push({key: key, value: items[key]}); 
    } 
    let ans = []; 
    for (let k in keys){ 
     if(items[k].value.match('^.*' + args +'.*$')){ 
      ans.push({key: k, value: items[k]}); 
     } 
    } 
    return ans; } 

検索HTML <input type="text" #filterInput (keyup)="0">

ロード

ダミーのコンテンツは次のようになっています:

this.content = [ 
       { 
        "enrollmentId": "A0xxxxxx", 
        "firstName": "Bob", 
        "LastName": "Bob", 
        "typeOfUser": 'Admin' 
       }, 
       { 
        "enrollmentId": "A0xxxxxx", 
        "firstName": "Bob", 
        "LastName": "Bob", 
        "typeOfUser": 'Admin' 
       }, 
       { 
        "enrollmentId": "A0xxxxxx", 
        "firstName": "Bob", 
        "LastName": "Bob", 
        "typeOfUser": 'Admin' 
       } 
      ]; 

答えて

2

だから私は私の検索バー

transform(items: any[], args:string): any { 

    let ans = []; 
    for (let k in items){ 
     if(items[k].enrollmentId.match('^.*' + args +'.*$') 
      || items[k].firstName.match('^.*' + args +'.*$') 
      || items[k].lastName.match('^.*' + args +'.*$') 
      || items[k].typeOfUser.match('^.*' + args +'.*$')) { 
      ans.push({key: k, value: items[k]}); 
     } 
    } 
    return ans; 

}

でどのようなI入力で、私は私のコンテンツ辞書を持っている各キーを検討し、もしあればその内容の試合に分析しなければなりませんでした
関連する問題