PrimeNG 数据表:保存过滤器
PrimeNG Datatable: Save filters
我在这里使用了一些示例 (https://github.com/primefaces/primeng/issues/304),以便将排序和页面保存在本地存储中,这样当用户返回页面时,他们的设置会得到保留。
但是我在保存过滤器时遇到了问题,找不到任何示例。
模板:
<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;
}
}
我能够将 table 中的过滤器保存到本地存储中:
onFilter(e) {
localStorage.setItem("filters", JSON.stringify(this.dataTable.filters));
}
我在这里使用了一些示例 (https://github.com/primefaces/primeng/issues/304),以便将排序和页面保存在本地存储中,这样当用户返回页面时,他们的设置会得到保留。
但是我在保存过滤器时遇到了问题,找不到任何示例。
模板:
<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;
}
}
我能够将 table 中的过滤器保存到本地存储中:
onFilter(e) {
localStorage.setItem("filters", JSON.stringify(this.dataTable.filters));
}