J'ai besoin d'un moyen de suivre les éléments (lignes) actuellement affichés dans un tableau de matériaux. Selon la documentation, est construit sur , lui donnant une propriété viewChange
. Je comprends que ce BehaviorSubject
se déclenche à chaque fois que l'ensemble des lignes affichées change. Par exemple, il peut y avoir 400 lignes au total, mais en raison de la pagination, seules 20 sont à l'écran. Lorsque l'utilisateur clique pour passer à la page suivante, cela devrait déclencher viewChange
. Est-ce que quelqu'un sait comment utiliser cette propriété? J'ai essayé le code suivant, mais il ne se déclenche qu'une fois, avec la valeur { start: 0, end: 1.7976931348623157e+308 }
.
component.ts:
allTasks = new MatTableDataSource([]);
@ViewChild(MatTable) table: MatTable;
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sorter: MatSort;
ngAfterViewInit() {
this.allTasks.paginator = this.paginator;
this.allTasks.sort = this.sorter;
this.table.viewChange.asObservable().subscribe(val => {
console.log(`${val.start} - ${val.end}`);
});
}
component.html:
...