Я фильтрую источник данных таблицы, используя значение множественного выбора. Записи таблицы обновляются, когда я выбираю параметры в поле выбора. Но пагинатор не обновляется.
@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
ngOnInit() {
this.dataSource.paginator = this.paginator;
this.dataSource.filterPredicate = (tdata: Catalog, filter: string) => {
return this.filters.length > 0 ?
this.filters.some(e => e === tdata.type) :
true;
};
}
applyFilter() {
this.tdataSource.filter = 'trigger filter';
}
<mat-form-field>
<mat-label>Filters</mat-label>
<mat-select multiple [(value)]="filters">
<mat-option *ngFor="let item of options" [value]="item" (click)="applyFilter(item)">
{{item}}
</mat-option>
</mat-select>
</mat-form-field>
На изображении ниже я фильтрую только базу данных. Таблица обновляется на основе фильтров. Но paginator показывает все записи.
А также, если я отмечаю все флажки в заголовке таблицы, он выбирает все записи вместо выбора 4 записей, которые отображаются в пользовательском интерфейсе.