我有这个角度对话框组件,我只想在 api 完成后关闭它。我有以下内容,但完成后对话框没有关闭this.matchComplete = true
。
<mat-dialog-actions align="end">
<button mat-button mat-dialog-close color="accent">Cancel</button>
<button
mat-raised-button
[mat-dialog-close]="matchComplete"
cdkFocusInitial
(click)="matchDialog()"
color="accent">Continue</button>
</mat-dialog-actions>
@Component({
selector: 'match-dialog',
templateUrl: 'match-dialog.html',
})
export class MatchDialog {
matchComplete: boolean;
constructor(
@Inject(MAT_DIALOG_DATA) public data: {text: string, foo: object},
private apiService: ApiService,
) {
this.matchComplete = false;
}
matchDialog() {
this.apiService.add()
.subscribe(null, null, () => this.matchComplete = true);
}
}
我认为您对 [mat-dialog-close] 的工作原理有点困惑。我认为这个问题最好在这里回答:Usage of [mat-dialog-close]
Torinthiel 的第二高答案很好地了解了 mat-dialog-close 的工作原理以及如何关闭 mat 对话框组件。