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