J'ai une table de matériau angulaire. Lorsque je contourne HTML pour la table avec un Prendre l'exemple de: https://material.angular.io/components/ Table / aperçu # Tri de P>
et la modifier, juste en ajoutant le
4 Réponses :
Faire connecter la console Angular n'a pas attrapé Changer NgonInit code> de
this.sort code> p>
Matsort code> composant comme sur la phase init, NGIF n'a pas traité le modèle. p>
nonginit code> à
NgAfterviewInit code> et fonctionnera comme prévu. P>
Merci Danil, votre suggestion a fonctionné, mais uniquement lorsque le * NGIF a été évalué à vrai lorsque la vue de l'initialisation.
La solution que j'utilise maintenant est la suivante: p> ceci était basé sur des informations de: angulaire 2 @viewchild in * ngif p> Solution de travail complète à: https://stackblitz.com/edit/angular-quzvjv-jzdbb6 p> p>
Merci pour cette explication simple - m'a aidé :)
en angulaire 8, nous pouvons facilement obtenir un tri de table et une pagination multiples / uniques à l'intérieur * NGIF. Dans l'exemple ci-dessous, j'utilise "NG-Template" afin d'afficher / masquer la table à l'aide de * NGIF Autres.
Mon échantillon * Format NGIF P>
@ViewChild('snowSort', { static: false }) set matSnowSort(snowSort: MatSort) { this.snowSort = snowSort; if (this.snowDataSource !== null && this.snowDataSource !== undefined) { this.snowDataSource.sort = this.snowSort; }} @ViewChild('snowPaginator', { static: false }) set matSnowPaginator(snowPaginator: MatPaginator) { this.snowPaginator = snowPaginator; if (this.snowDataSource !== null && this.snowDataSource !== undefined) { this.snowDataSource.paginator = this.snowPaginator; }} @ViewChild('transactionSort', { static: false }) set matTransactionSort(transactionSort: MatSort) { this.transactionSort = transactionSort; if (this.transactionDataSource !== null && this.transactionDataSource !== undefined) { this.transactionDataSource.sort = this.transactionSort; }} @ViewChild('transactionPaginator', { static: false }) set matTransactionPaginator(transactionPaginator: MatPaginator) { this.transactionPaginator = transactionPaginator; if (this.transactionDataSource !== null && this.transactionDataSource !== undefined) { this.transactionDataSource.paginator = this.transactionPaginator; }} private transactionSort: MatSort; private transactionPaginator: MatPaginator; private snowSort: MatSort; private snowPaginator: MatPaginator; payIdTransactions: TLItem[]; snowCases: Cases[]; transactionDataSource: MatTableDataSource<TLItem>; snowDataSource: MatTableDataSource<Cases>; private getTransactions(startDate: string, endDate: string) { this.payIdTransactions = results.getTransactionsResponse.TLItems.TLItem; this.transactionDataSource = new MatTableDataSource(this.payIdTransactions); } private getSnowCases(startDate: string, endDate: string) { this.snowCases = results.getCasesResponse.cases; this.snowDataSource = new MatTableDataSource(this.snowCases); }
Soumis un problème avec le projet de matériel angulaire - Github.com/angular/Material2/issues/14843
Lol, vérifiez la réponse