Angular Material Paginator не позволяет нажимать кнопку возврата после получения данных - PullRequest
0 голосов
/ 07 ноября 2019

У меня возникла проблема при использовании материала для разбивки на страницы. Он извлекает данные правильно, и данные пагинатора корректно обновляются, в частности, корректно увеличивается pageIndex, но номер элемента не обновляется, как показано ниже. Я полагаю, что это из-за функции onChangedPage ($ event), потому что когда я удаляю ее, все работает правильно, но мои данные, конечно, не обновляются.

снимок экрана с количеством элементов

Мне интересно, что может быть причиной того, что это не работает, учитывая, что pageIndex работает правильно, вот мой код для разбивки на страницы. Мой код является динамическим.

html:

<mat-paginator
      [length]="totalMessages"
      [pageSize]="messagesPerPage"
      [pageSizeOptions]="pageSizeOptions"
      (page)='onChangedPage($event)'
    ></mat-paginator>

TS:

onChangedPage(pageData: PageEvent) {
console.log(pageData);
this.currentPage = pageData.pageIndex + 1;
const endingIndex = this.messagesPerPage * this.currentPage;
const startingIndex = endingIndex - this.messagesPerPage;
this.isLoading = true;
console.log(endingIndex);
console.log(startingIndex);
this.Service
.getFunction(this..ticketNumber, startingIndex, endingIndex)
.subscribe(data => {
****taken out for security reasons
 }

Резюме: По сути, я разбиваю страницы на встроенный массив в документе БД Mongo и используюметод $ slice. Моя бэкэнд-логика в порядке, я все получаю правильно, но по какой-то причине пагинатор не обновляет положение элементов, которые я получаю. Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 07 ноября 2019

Если кто-то столкнется с этим типом проблемы. Я выяснил, что проблема заключалась в том, что я использовал загрузочный счетчик во время моего звонка на сервер для получения данных. Это изменило представление и сброс данных страницы. После того, как я снял счетчик, он теперь работает как положено.

...