Angular Mat 对话框关闭并移动到 IE 中页面的左上角



我有一个确认模式弹出窗口,当用户选择提交按钮时会显示。

当模态出现时,用户可以选择单击按钮以关闭模态。下面是它的外观:

.HTML:

<ng-template #confirmModal>
<custom-modal-body-component 
(cancelFn)="closeModal()"
</custom-modal-body-component>
</ng-template>

TS:

@ViewChild('confirmModal', { static: true }) confirmModalTemplate: TemplateRef<any>;
constructor(
private modalService: MatDialog,
) {}
submit() {
this.myModal = this.modalService.open(this.confirmModalTemplate);
}
closeModal() {
this.myModal.close();
}

我的问题是,当用户关闭模态时,它会在关闭之前移动到页面的左上角一小会儿。我不希望这种情况发生。

我希望模态正常关闭而不跳到页面的左上角。 我们最近将 Angular/材质从 7.x.x 升级到 8.2.1。此问题未出现在版本 7 中,我们不想降级到 7。对可能发生的事情有什么想法吗?

这只发生在我们需要支持的IE中。

编辑: 应该注意的是,这种行为只发生在我们应用程序的两个特定页面上。我们在所有页面上以相同的方式打开模态,但此问题不会在所有页面上持续存在。

这可能是超出区域的问题。尝试将模型的关闭和打开放在区域内,如下所示:

constructor(private zone: NgZone) { }
const dialogRef1 = this.zone.run(() => {
this.dialog.open(DialogComponent, {});
});

最新更新