代码之家  ›  专栏  ›  技术社区  ›  Ali H

当我试图在Ionic 2中使用基本警报inside prompt alert时卡住了

  •  0
  • Ali H  · 技术社区  · 7 年前

    这是我代码的基本示例,当显示“重复电子邮件”警报时,它会被卡住,当我单击“确定”按钮时,它无法关闭

    let prompt = this.alertCtrl.create({
    title: 'Replacement Email',
    message: "Please enter your new email",
    inputs: [{
        type: 'email',
    name: 'email',
    placeholder: 'user1@gmail.com'
    },
    ],
    buttons: [
      {
        text: 'Cancel',
        handler: data => {
          console.log('Cancel clicked');
        }
      },{
        text: 'Save',
        handler: data => { 
          if(data.email!=""){
            if(data.email==this.userService.email){
               let alert = this.alertCtrl.create({
                  title: "Duplicated email",
                  subTitle: "Please enter new email",
                  buttons: ['OK']
                });
                alert.present();
             }
          }
        }
      }
    ]
    });
    prompt.present();
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Ali H    7 年前

    我使用“timeout”解决了这个问题,但我认为有更好的解决方案

    let prompt = this.alertCtrl.create({
    title: 'Replacement Email',
    message: "Please enter your new email",
    inputs: [{
        type: 'email',
    name: 'email',
    placeholder: 'user1@gmail.com'
    },
    ],
    buttons: [
      {
        text: 'Cancel',
        handler: data => {
          console.log('Cancel clicked');
        }
      },{
        text: 'Save',
        handler: data => { 
          if(data.email!=""){
            if(data.email==this.userService.email){
               let alert = this.alertCtrl.create({
                  title: "Duplicated email",
                  subTitle: "Please enter new email",
                  buttons: ['OK']
                });
                setTimeout(() => {
                    alert.present();
                },250);
             }
          }
        }
      }
    ]
    });
    prompt.present();