我有一个确认模式弹出窗口,当用户选择提交按钮时会显示。
当模态出现时,用户可以选择单击按钮以关闭模态。下面是它的外观:
.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, {});
});