我需要在离子警报弹出窗口中显示图像(帮助图标)。我在我们的应用程序中使用本地化。因此,我现在所做的是使用来自转换字符串的CSS类显示图像,如下所示,
"PBMNotConnected": "<div>We didn't detect a PBM connected to your device.</div><p class='pbmAlertInfoBox'>Please select the <span class='infoIcon' (click)='goToHelp()'></span> (info icon) for help.</p>",
现在,我可以在警报框中看到帮助图标,但是,我想将click事件绑定到该帮助图标。我在翻译字符串中添加了(click)
属性,但是它不起作用。
以下是呈现警报弹出窗口的常用代码
/**
* show alert message
* @description pass non translated strings of title, subtitle, message and buttons text
*/
presentAlert(title, subtitle, message, cssClass, okText, hideButtons?:boolean) {
let buttons = [];
if(!hideButtons){
buttons = [this.getTranslate(okText, {})];
}
let alert = this.alertController.create({
title: this.getTranslate(title, {}),
subTitle: subtitle ? this.getTranslate(subtitle, {}) : '',
message: this.getTranslate(message, {}),
cssClass: cssClass,
buttons: buttons,
enableBackdropDismiss: false
});
alert.present();
return alert;
}
然后我尝试使用以下代码手动绑定事件,
let alert = this.popUpService.presentAlert('error', undefined, 'PBMNotConnected', 'custom-popup-ok error', 'ok');
let elements: any = document.getElementsByClassName('.pbmAlertInfoBox .infoIcon');
if(elements.length > 0){
elements[0].click = () => {
this.goToHelp();
}
}
但是,现在的问题是我不知道警报弹出窗口的确切打开时间,因此我需要您的帮助来了解打开警报弹出窗口后可用的任何事件。
谢谢。