簡體   English   中英

如何在angular2中的列表上應用搜索過濾器?

[英]How to apply search filter on list in angular2?

我想在存儲在數組中的數據列表上實現搜索過濾器,並且我想像在數據表中搜索一樣應用搜索過濾器。 如下圖所示。 但在那個領域(名稱,地址..等)是不固定的。

基於搜索文本框值對以下數據應用過濾器

我怎樣才能做到這一點?

演示

如果您想按其他字段過濾,只需將它們添加到管道中:

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

@Pipe({
    name: 'searchFilter'
})
export class SearchFilter implements PipeTransform {
    transform(items: any[], criteria: any): any {

        return items.filter(item =>{
           for (let key in item ) {
             if((""+item[key]).toLocaleLowerCase().includes(criteria.toLocaleLowerCase())){
                return true;
             }
           }
           return false;
        });
    }
}

    @Component({
      selector: 'sites-component',
      template: `
        <input #search  (keyup)="0">
        <ul>
          <li *ngFor="let site of (sites | searchFilter: search.value )">(...)</li>
        </ul>
      `
    })
    export class SitesComponent{
       sites : Array;
    }

不要忘記在模塊中聲明管道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM