PrimeNG 首次使用延迟加载设置页面 table

PrimeNG set the page for the first using lazy loading table

我将组件 p-table 与 "Paginator" 和 "Lazy loading" 一起使用,并根据需要制作了一个搜索组件。
当我过滤并且页面索引在另一个页面上时,我正在尝试解决这个问题。
示例:
页面索引 = 2
过滤文本 = texto.

然后,我更新table上的记录和页数。但如果结果具有更多或相等数量的索引页,则页索引继续为 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
}

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

假设下面是你的 table:

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

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

在过滤方法中重置 table;

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