当我在ok按钮的回调函数中创建警报时,我正在使用带有角度的离子膜,我正在更改状态。状态更改,但是此更改在iu中不起作用,我认为组件未更新。我该如何解决?
async presentAlert() {
const alert = await this.alertController.create({
header: '',
message: '',
buttons: [
'cancel',
{
text: 'ok',
handler: () => {
this.currentScreen = "";
this.dates[this.currentDateIndex].isOrdered = false;//disable order
}
}
]
});
await alert.present();
}
答案 0 :(得分:1)
您可以尝试使用ChangeDetectorRef
明确声明已进行更改,并且视图需要更新。
参考:https://angular.io/api/core/ChangeDetectorRef
示例:
在构造函数中声明ChangeDetectorRef
constructor(public cd: ChangeDetectorRef) {}
然后在您的回调中使用它:
buttons: [
'cancel',
{
text: 'ok',
handler: () => {
this.currentScreen = "";
this.dates[this.currentDateIndex].isOrdered = false;//disable order
this.cd.detectChanges();
}
}
]