[解決済み] AngularのMatPaginatorが初期化されない
2023-06-07 09:07:03
質問
私は2つのコンポーネントを持っています。両方ともmat-tableとpaginatorsを持っており、ページネーションは1つのコンポーネントで動作し、コードは似ていますが、他のコンポーネントで動作していません。以下は私のhtmlです。
<div class="mat-elevation-z8">
<mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="col1">
<mat-header-cell *matHeaderCellDef mat-sort-header> Column1 </mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.col1}} </mat-cell>
</ng-container>
<ng-container matColumnDef="col2">
<mat-header-cell *matHeaderCellDef mat-sort-header> Column2 </mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.col2}} </mat-cell>
</ng-container>
<!-- Different columns goes here -->
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
</mat-table>
<mat-paginator #scheduledOrdersPaginator [pageSizeOptions]="[5, 10, 20]"></mat-paginator>
</div>
そして、以下はcomponent.tsでの私のコードです。
dataSource: MatTableDataSource<any>;
displayedColumns = ['col1', 'col2', ... ];
@ViewChild('scheduledOrdersPaginator') paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
ngOnInit(): void {
// Load data
this.dataSource = new MatTableDataSource(somearray);
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
同様のコードは他のコンポーネントでも動作しており、テーブルはページネーションで適切にレンダリングされています。
どんな助けでも本当に感謝します。
どのように解決するのですか?
私は同様の問題を、インスタンス化をタイムアウトで囲むことで解決しました。これを試してみてください。
setTimeout(() => this.dataSource.paginator = this.paginator);
関連
-
[解決済み] Angular HTMLバインディング
-
[解決済み] コンポーネントクラスからテンプレート参照変数にアクセスする
-
[解決済み] Angular 4/5/6 グローバル変数
-
[解決済み] ng2 - ng-containerタグとng-templateタグの違い
-
[解決済み] 簡単なパイプで小数点以下2桁に制限する
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] angular-cli が HTTPS で ng serve するようにする。
-
[解決済み] Uncaught Error: Unexpected module 'FormsModule' declared by the module 'AppModule'. Pipe/@Directive/@Component アノテーションを追加してください。
-
[解決済み] Angular2 Tutorial (Tour of Heroes)です。モジュール 'angular2-in-memory-web-api' を見つけることができません。
-
[解決済み] angular 4 ユニットテストエラー `TypeError: ctor is not a constructor`.
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angularの@ViewChild()のエラーです。2つの引数を期待したが、1つを得た
-
[解決済み] Angular 2におけるEventEmitter.next()とEventEmitter.emit()の相違点
-
[解決済み] formControlNameとFormControlの違いは何ですか?
-
[解決済み] 遅延のあるobservableを作成するには?
-
[解決済み] Angular2ルートでAngularの方法でパラメータを取得するには?
-
[解決済み] angular keyvalue pipe sort properties / iterate in order (アンギュラーキーバリューパイプソートプロパティ / イテレートオーダー)
-
[解決済み] 64進数の文字列を角(2+)でエンコードおよびデコードする。
-
[解決済み] ng-forOf」は既知のネイティブプロパティではないため、バインドできない [重複] 。
-
[解決済み] Angular2 *ngIf テンプレート内のオブジェクト配列の長さをチェックする
-
[解決済み] Angular2 ルーターがクエリ文字列を保持する