2

私のコードには、データのリストを参照して各データを開くボタンがありmat-dialogます。

残念ながら、ループの過程で、すべてがmat-dialogs開いています。

私がやりたいことは、dialogRef.afterClosed()メソッドを使用することで、結果に応じて ( true) 次mat-dialogが開くか ( false) ループが終了することです。

openDialog(): void {
  this.data.forEach(data => {
    const dialogRef = this.dialog.open(DialogOverviewExampleDialog, {
      disableClose: true
    });
    dialogRef.componentInstance.data = data;

    dialogRef.afterClosed().subscribe(result => {
      if (result) {
        // open next mat-dialog
      } else {
        // stop loop
      }
    });
  });
}

<div mat-dialog-actions>
  <button mat-button (click)="_dialogRef.close(true)">Ok</button>
  <button mat-button (click)="_dialogRef.close(false)">Cancel</button>
</div>

ここでスタックブリッツ

これどうやってするの?どうすればいいのかわからない。

ご協力いただきありがとうございます。

4

3 に答える 3