(selectedChange)="functionName($event)"
アクティブなタブのインデックスを取得するために利用しています。ただし、ページの読み込み時に、このイベントをトリガーすることはできません。タブを少なくとも 1 回変更して、MatTabChangeEvent
2 つのオブジェクトtab
とindex
.
両方のタブに、ページネーション付きのマット テーブルがあります。また、データベースからデータを検索し、それぞれのタブに表示する検索バーがありますが、ここでの問題は、ページの読み込み時にユーザーが検索バーに直行した場合、現在アクティブなタブがわからないため、条件ステートメントユーザー検索に基づいてそれぞれのタブにデータを表示すると、Uncaught error
atthis.activeTab.index
が存在しません。しかし、ユーザーが実際にタブを変更すると、アクティブなタブのインデックス値が得られ、コードは正常に動作し続けます。
では、ページの読み込み時に MatTabChangeObject を取得するにはどうすればよいですか?
注:オブジェクトのように返されないためMatGroup
、withは使用できませんViewChild
MatTabChangeEvent
これが私のコードです
if(this.tabEvent.index === 0) {
$event.map((a: string) => {
this._printService.getParcelById(this.vId, a, true).subscribe(res => {
data.push(res);
this.child.dataLength = $event.length;
}, err => {
data = [];
this._sb.open({
message : 'Either the parcel id does not exist in the system or it is incorrect',
type: 'error'
})
});
});
this.dataSource$ = of(data);
}
else if(this.tabEvent.index === 1) {
$event.map((a: string) => {
this._printService.getParcelById(this.vId, a, false).subscribe(res => {
data.push(res);
this.child.dataLength = $event.length;
}, err => {
data = [];
this._sb.open({
message : 'Either the parcel id does not exist in the system or it is incorrect',
type: 'error'
})
});
});
this.dataSource$ = of(data);
}
関数でeventChange値を発行し、その値を次this.tabEvent
のタイプの変数に割り当てていますMatTabChangeEvent