Вот как выглядит мой mat-paginator
:
<mat-paginator [pageSizeOptions]="pageSizeOptions" [length]="100"></mat-paginator>
В основном я пытаюсь реализовать типичную идею разбиения на страницы: сервер не возвращает все данные, он возвращает их часть и затем, когда открывается новая страница, она переходит к другой части данных. Чтобы сделать это, мне нужно сообщить paginator, сколько элементов в базе данных, то есть мне нужно предоставить ему length
prop.
Я попытался установить его в множество способов, прямо как в строке выше или внутри метода, где я делаю запрос get. Например:
this.paginator.length = 100;
Действительно, длина должна исходить от сервера, но пока для целей отладки я просто жестко ее кодирую.
this.dataSourceService.findAll().subscribe(
records => {
this.paginator.length = 100;
this.dataSource.data = records.map(
record => new Record().deserialize(record)
)
}
)
Тем не менее значение длины, которое я получаю на client равен числу элементов, содержащихся в массиве, который я получаю в ответе сервера.
Что я делаю неправильно и почему значение длины не установлено на 100.
РЕДАКТИРОВАТЬ :
Хорошо, вот еще один соответствующий код.
Внутри компонента я делаю следующее:
dataSource = new MatTableDataSource<Record>();
pageSizeOptions: number[] = [5, 10, 20];
inside OnInit()
У меня также есть следующая строка: this.dataSource.paginator = this.paginator;