这个问题可能是由于使用了Angular的Change Detection机制引起的,这会导致在关闭modal时视图不会立即反应,因此会出现按钮仍然处于非激活状态的情况。
解决此问题的一种方法是使用setTimeout()使modal关键事件在下一个变更检测周期后发生。例如,可以在关闭modal后执行以下操作:
dismissModal() {
this.activeModal.dismiss();
setTimeout(() => {
this.button.disabled = false;
});
}
此代码将在关闭modal之后等待下一个变更检测周期,并将按钮的disabled属性设置为false,从而激活该按钮。