Я использую компонент p-table с "Paginator" и "Lazy loading", и я сделал один компонент поиска с тем, что мне нужно.
Я пытаюсь решить проблему, когда фильтрую, а индекс страницы находится на другой странице.
пример:
индекс страницы = 2
Фильтрация текста = texto.

Затем я обновляю записи в таблице и количество страниц. Но индекс страницы продолжается с 2, если результат имеет большее или равное количество страниц индекса.

Я пытался изменить значение из Event, но это не применимо.

Документация 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
Faqtt0 5 Окт 2018 в 23:56

1 ответ

Лучший ответ

Я предполагаю, что вы создали свой поисковый компонент, в котором вы будете искать, и это отразится в турбо-таблице. Вы не используете глобальный фильтр 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();
     }
}
5
DirtyMind 6 Окт 2018 в 09:44