ionic4 对话框 输入的数据验证之后不消失

业务场景:点击添加简历按钮弹出对话框,输入简历名称,验证名称是否重复如果重复给出提示并且不让用户输入的名称消失;
一开始的业务是让用户输入的消失,这个比较好办,重新弹出一次对话框即可;
现在的业务场景其实也不难,对方法做一点修改即可

  async presentAlertPrompt(name: any) {
    const alert = await this.alertController.create({
      header: '请输入简历',
      inputs: [
        {
          id: 'resumeName',
          name: 'resumeName',
          type: 'text',
          placeholder: '输入的简历名称不要重复哦!',
          value: name
        }
      ],
      buttons: [
        {
          text: '取消',
          role: 'cancel',
          handler: () => {
            console.log('Cancel clicked');
          }
        },
        {
          text: '添加',
          handler: data => {
            const rn = (data.resumeName).trim();
            const userid = localStorage.getItem('userId');
            const url = '***/resume/queryResumeByResumename/' + rn + '/' + userid;
            if (rn === '') {
              super.showToast(this.toastController, '简历名称不可以为空哦');
              return;
            }
            this.http.get(url).subscribe(
              resName => {
                if (resName.json().code === ResponseCode.SUCCESSCODE) {
                  if (resName.json().data.length === 0) {
                    // 跳转到添加简历的页面,把简历名称存入localstorage
                    this.router.navigateByUrl('tabs/me/addresume');
                    localStorage.setItem('resumeName', rn);
                  } else {
                    super.showToast(this.toastController, '简历名称重复,请重新输入');
                    this.presentAlertPrompt(rn);
                  }
                } else {
                  super.showToast(this.toastController, resName.json().message);
                }
              });
          }
        }
      ]
    });
    await alert.present();
  }
  //点击添加的代码
  this.presentAlertPrompt('');

你可能感兴趣的:(项目总结)