web-dev-qa-db-fra.com

Comment utiliser le MatTabledataSource avec un observable?

J'utilise la table mat et j'essaie d'utiliser le MatTabledataSource avec une observable (je reçois les données d'un service Web), mais je ne sais pas comment configurer le MatTabledtaTasource Pour utiliser un observable au lieu d'un tableau.

Est la seule solution à ce problème, à souscrire à l'observable dans la méthode ngoninit et crée toujours une nouvelle MatTabledtaTaSource lorsque de nouvelles données arrivent?

C'est ce que j'ai jusqu'à présent, mais je ne sais pas si c'est la solution correcte pour travailler avec le MatTabledataSource avec un observable.

dataSource: MatTableDataSource<Thing>;
@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
@ViewChild(MatSort, { static: true }) sort: MatSort;

ngOnInit() {
    getThings().subscribe(things => {
        this.dataSource = new MatTableDataSource(things);
        this.dataSource.paginator = this.paginator;
        this.dataSource.sort = this.sort;
        });
}
10
Christoph Hummler

J'ai publié une bibliothèque pour cela: @matheo/datasource

J'explique les concepts de base dans cet article:
[.____] https://medium.com/@matheo/reactive-datasource-for-angular-1D869B0155F6

et dans le code exemple, vous pouvez voir comment je récupère des articles dans une base de données Firebase et manipuler la pagination. Tri et filtres dans l'exemple repo
[.____] J'espère que vous l'aimez et donnez-moi votre opinion à ce sujet;)

0
Mateo Tibaquira