一次又一次重新打开相同的警报

时间:2018-03-12 18:56:26

标签: javascript angularjs ionic-framework ionic3

我正在进行离子3应用。注册页面中有验证otp功能。当用户单击注册按钮时,将打开一个警报,其中包含取消,验证和重新发送按钮的otp输入。当用户点击重发按钮时我想要做的是应该打开相同的警报。我通过在重发按钮处理程序中复制整个警报代码来完成此操作。但它只是第一次开放。当用户点击重发按钮时,我想无限地重新打开此警报。

以下是我的提醒代码

{

let alert = this.alertCtrl.create({
    title: 'OTP Sent. Verify OTP',
    inputs: [{
        name: 'otp',
        placeholder: 'OTP',
        value: this.otp
    }, ],
    buttons: [{
            text: 'Cancel',
            role: 'cancel',
            handler: data => {
                console.log('Cancel clicked');
            }
        },
        {
            text: 'Verify',
            handler: data => {
                console.log(data.otp);
                if (this.responseData.data.otp_sent == data.otp) {
                    console.log("verfiied");
                } else {
                    // invalid login
                    return false;
                }
            }
        },
        {
            text: 'Resend',
            handler: data => {
                this.authService.postData('mobile=' + this.responseData.data.mobile, 'user/resend').then((result) => {
                    // console.log(this.otpResend);
                    let alert = this.alertCtrl.create({
                        title: 'OTP Sent. Verify OTP',
                        inputs: [{
                            name: 'otp',
                            placeholder: 'OTP',
                            value: this.otp
                        }, ],
                        buttons: [{
                                text: 'Cancel',
                                role: 'cancel',
                                handler: data => {
                                    console.log('Cancel clicked');
                                }
                            },
                            {
                                text: 'Verify',
                                handler: data => {
                                    console.log(data.otp);
                                    if (this.responseData.data.otp_sent == data.otp) {
                                        console.log("verfiied");
                                    } else {
                                        // invalid login
                                        return false;
                                    }
                                }
                            },
                            {
                                text: 'Resend',
                                handler: data => {
                                    this.authService.postData('mobile=' + this.responseData.data.mobile, 'user/resend').then((result) => {
                                        // console.log(this.otpResend);

                                    });
                                }
                            }
                        ]
                    });
                    alert.present();

                });
            }
        }
    ]
});
alert.present();
}

1 个答案:

答案 0 :(得分:3)

制作重发功能

    resend(){

         this.authService.postData('mobile=' + this.responseData.data.mobile, 'user/resend').then((result) => {
                                // console.log(this.otpResend);
                                let alert1 = this.alertCtrl.create({
                                    title: 'OTP Sent. Verify OTP',
                                    inputs: [{
                                        name: 'otp',
                                        placeholder: 'OTP',
                                        value: this.otp
                                    }, ],
                                    buttons: [{
                                            text: 'Cancel',
                                            role: 'cancel',
                                            handler: data => {
                                                console.log('Cancel clicked');
                                            }
                                        },
                                        {
                                            text: 'Verify',
                                            handler: data => {
                                                console.log(data.otp);
                                                if (this.responseData.data.otp_sent == data.otp) {
                                                    console.log("verfiied");
                                                } else {
                                                    // invalid login
                                                    return false;
                                                }
                                            }
                                        },
                                        {
                                            text: 'Resend',
                                            handler: data => {
                                                this.authService.postData('mobile=' + this.responseData.data.mobile, 'user/resend').then((result) => {
                                                    resend();
                                                    // console.log(this.otpResend);

                                                });
                                            }
                                        }
                                    ]
                                });
                                alert1.present();

    }

然后叫它

 {
            text: 'Resend',
            handler: data =>{
              resend();
            }
}