PrimeNG设置页面为第一个使用延迟加载表

时间:2018-10-05 20:56:49

标签: lazy-loading primeng primeng-datatable

我正在使用带有“ Paginator”和“延迟加载”的组件p表,但是我根据需要制作了一个搜索组件。 但是,当我进行筛选并且页面索引在另一页上时,我正在尝试解决此问题。 例如: 页面索引= 2
过滤文字= texto。

然后,我更新表上的记录和页数。但是,如果结果具有更多或相等数量的索引页,则页面索引以2继续。

我尝试更改“事件”的值,但不适用。

PrimeNG懒惰文档记录

loadData(event: LazyLoadEvent) {
//event.first = First row offset
//event.rows = Number of rows per page
//event.sortField = Field name to sort in single sort mode
//event.sortOrder = Sort order as number, 1 for asc and -1 for dec in single sort mode
//multiSortMeta: An array of SortMeta objects used in multiple columns sorting. Each SortMeta has field and order properties.
//filters: Filters object having field as key and filter value, filter matchMode as value
//globalFilter: Value of the global filter if available
this.cars = //do a request to a remote datasource using a service and return the cars that match the lazy load criteria

}

1 个答案:

答案 0 :(得分:4)

我假设您已经创建了搜索组件,将在其中搜索并将反映在涡轮表格中。您没有使用Turbotable的全局过滤器。在这种情况下 您必须先重置表,然后再获取记录。

假设下面是您的表格:

<p-table #tt [value]="testdata" class="test-data" [lazy]="true"
         (onLazyLoad)="loadDataLazily($event)"
            [paginator]="true" [rows]="3" [totalRecords]="totalRecords">

为表使用选择器,例如 #tt 现在在您的 component.ts 文件

使用过滤器方法重置表格;

import { Table } from '../../../../node_modules/primeng/components/table/table';
    export class TableComponent{
     @ViewChild('tt') tt: Table;
     filter(){
      this.tt.reset();
     }
}