2017-08-23 10 views
1

ここでは、ユーザがページに戻ったときにその設定が維持されるように、ここではいくつかの例(https://github.com/primefaces/primeng/issues/304)を使用してソートとページをlocalstorageに保存しています。PrimeNG Datatable:フィルタを保存

フィルタの保存に問題があり、例が見つかりません。

テンプレート:

<p-dataTable #dt [value]="FilteredIncidentNodes" [rows]="10" [paginator]="true" [pageLinks]="10" [rowsPerPageOptions]="[5,10,20]" [editable]="true" 
(onPage)="onPage($event)" (onSort)="onSort($event)" (onFilter)="onFilter($event)"> 

コード:

onFilter(e) { 
    localStorage.setItem("filters", JSON.stringify(e)); 
    } 

ngOnInit() { 
    const opt = localStorage.getItem(this.optionsKey); 
    const filters = localStorage.getItem("filters"); 
    if (opt) { 
     let go = JSON.parse(opt); 
     setTimeout(() => { 
      this.gridOptions = go; 
      this.dataTable.sortField = this.gridOptions.sortField; 
      this.dataTable.sortOrder = this.gridOptions.sortOrder; 
      this.dataTable.sortSingle(); 
      this.dataTable.paginate(this.gridOptions); 

      if (filters) { 
       console.log(JSON.parse(filters)); 
       this.dataTable.filters = JSON.parse(filters); 
      } 
     //this.blocked = false; 
     }, 0); 

     return; 
    } 
    } 

答えて

1

私はちょうどローカルストレージにテーブルからフィルタを保存することができました:

onFilter(e) { 
    localStorage.setItem("filters", JSON.stringify(this.dataTable.filters)); 
    } 
関連する問題