J'ai un angular qui utilise mat-table
et mat-paginator
Pour une certaine vue, le problème est que la vue a une vue de la grille et une vue de table avec une bascule, la vue grille est par défaut et la table est masquée à l'aide d'un NGIF lorsque la vue de la grille est active. Si je défini la valeur par défaut sur la vue de la table, la pagination fonctionne bien, à moins que je sève à la grille de visualisation et de retour, si la valeur par défaut est définie sur la grille, il se casse lorsque je échange sur la vue de la table. Je suppose que c'est parce que la table est cachée lorsque ce code s'exécute:
this.sliceList = new MatTableDataSource<Slice>(result);
this.sliceList.paginator = this.paginator;
J'ai essayé la console journalisation this.sliceList
et sliceList.paginator
est indéfini lorsque la vue de la grille est défaillante, donc je suppose que c'est le problème. Comment puis-je réparer cela?
Créer dans fichier.html the <div>
avec ces identifiants:
div id="dataFound" style="display:none;"
div id="dataNotFound" style="display:none;"
Dans le fichier.ts
document.getElementById("dataFound").style.display = 'none'; /* ngIf = false
document.getElementById("dataNotFound").style.display = 'inline'; /* ngIf = true
Cela résoudra mon problème dans ANgular 10
Réglage statique sur FALSE Le truc.
@ViewChild(MatPaginator, {static: false}) paginator: MatPaginator;
@ViewChild(MatSort, {static: false}) sort: MatSort;
ngAfterViewInit() {
setTimeout(() => {
this.matTableConfig.dataSource = new MatTableDataSource(this.matTableConfig.dataSource);
this.matTableConfig.dataSource.paginator = this.paginator;
this.matTableConfig.dataSource.sort = this.sort;
});