3

(selectedChange)="functionName($event)"アクティブなタブのインデックスを取得するために利用しています。ただし、ページの読み込み時に、このイベントをトリガーすることはできません。タブを少なくとも 1 回変更して、MatTabChangeEvent2 つのオブジェクトtabindex.

両方のタブに、ページネーション付きのマット テーブルがあります。また、データベースからデータを検索し、それぞれのタブに表示する検索バーがありますが、ここでの問題は、ページの読み込み時にユーザーが検索バーに直行した場合、現在アクティブなタブがわからないため、条件ステートメントユーザー検索に基づいてそれぞれのタブにデータを表示すると、Uncaught erroratthis.activeTab.indexが存在しません。しかし、ユーザーが実際にタブを変更すると、アクティブなタブのインデックス値が得られ、コードは正常に動作し続けます。

では、ページの読み込み時に MatTabChangeObject を取得するにはどうすればよいですか?

注:オブジェクトのように返されないためMatGroup、withは使用できませんViewChildMatTabChangeEvent

これが私のコードです

 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

4

1 に答える 1