Я бы использовал (page)
mat-paginator, чтобы получить выбранные значения, а затем отфильтровать или соединить массив на основе значения:
HTML-код:
<div *ngFor="let clg of filteredArray">
<h3>{{clg.name}}</h3>
</div>
<mat-paginator [length]="100" [pageSize]="defaultRecords" [pageSizeOptions]="[5, 10, 25, 100]" (page)="pageEvent = $event; onPaginateChange($event)">
</mat-paginator>
Код TS:
import { Component, OnInit, ViewChild } from '@angular/core';
import { MatPaginator, MatTableDataSource } from '@angular/material';
/**
* @title Paginator
*/
@Component({
selector: 'paginator-overview-example',
templateUrl: 'paginator-overview-example.html',
styleUrls: ['paginator-overview-example.css'],
})
export class PaginatorOverviewExample implements OnInit {
colleges: any[] = [{ name: "1" }, { name: "2" }, { name: "3" }, { name: "4" }, { name: "5" }, { name: "6" }, { name: "7" }, { name: "8" }, { name: "9" }, { name: "10" }, { name: "11" }, { name: "12" }, { name: "13" }];
filteredArray: any[] = []
defaultRecords: any = 5;
ngOnInit() {
this.filteredArray = this.colleges.slice(0, this.defaultRecords);
}
onPaginateChange(data) {
this.filteredArray = this.colleges.slice(0, data.pageSize);
}
}
Working_Demo