Угловой пагинатор источника данных HttpClient не работает - PullRequest
0 голосов
/ 12 октября 2018

У меня есть следующая реализация (Angular 6).

Данные извлекаются нормально и отображаются в таблице, как и ожидалось.Однако пагинатор не работает.

См. Ниже:

@ViewChild(MatPaginator) paginator: MatPaginator;

Затем в конструкторе:

    this.dataSource = new MatTableDataSource([]);

    this.requestHttpService.getStuff()
        .subscribe(data => {
            this.results = data;
            this.dataSource = data;
        });

Затем

ngAfterViewInit() {
    this.dataSource.paginator = this.paginator;
}

И, наконец, в HTML:

<mat-paginator #paginator
               [length]="100"
               [pageSize]="10"
               [pageSizeOptions]="[5, 10, 25, 100]">
</mat-paginator>

Я не уверен, что не так с этим кодом, но, похоже, ни одна из этих функций нумерации страниц не работает.Чего мне не хватает

1 Ответ

0 голосов
/ 01 ноября 2018

Оказалось, что загрузка источника данных должна была инициироваться с

           ngAfterViewInit() {
           }

... и фактическое назначение пейгинатора должно быть заключено в функцию SetTimeout () согласно предложению здесь :

            setTimeout(() => {
                this.dataSource = new MatTableDataSource(this.results);
                this.dataSource.paginator = this.paginator;
            });
...