Запуск ngSubmit от кнопки в ионном оповещении - PullRequest
0 голосов
/ 09 апреля 2019

Я создал ионное приложение, и я использую шаблонно-управляемую форму в Angular для сбора данных формы и использую ngSubmit для передачи данных в ts.file.Я хочу включить функцию ngSubmit с помощью кнопки «Нет и сохранить данные» в предупреждении, но моя функция предупреждения не имеет ничего общего с моим html.file.Я не знаю, как передать данные в функцию оповещения, либо запустить ngSubmit через оповещение.

html.file

<form #observeForm="ngForm" (ngSubmit)="onSubmit(observeForm.value)" [(observeForm.value)]="tester">
...
  <ion-button margin-top="auto" expand="block" type="submit" routerDirection="backforward">Confirm</ion-button>
</form>

ts.file

  async presentAlertConfirm() {
    const alert = await this.alertController.create({
      header: 'Time Out!',
      message: 'Do you want to add more observe time?',
      buttons: [
        {
          text: 'Yes',
          cssClass: 'secondary',
          handler: () => {
            this.startTimer();
            console.log('Add time Okay');
          }
        },
          {
          text: 'No and save data',
          role: 'cancel',
          cssClass: 'secondary',
          handler: (blah) => {
            this.timer = 0;
          }
        }
      ]
    });
    await alert.present();
  }

1 Ответ

0 голосов
/ 09 апреля 2019

Попробуйте получить ссылку с помощью @ViewChild ():

@ViewChild('observeForm') obsForm: any; // new line

async presentAlertConfirm() {
const alert = await this.alertController.create({
  header: 'Time Out!',
  message: 'Do you want to add more observe time?',
  buttons: [
    {
      text: 'Yes',
      cssClass: 'secondary',
      handler: () => {
        this.startTimer();
        console.log('Add time Okay');
      }
    },
    {
      text: 'No and save data',
      role: 'cancel',
      cssClass: 'secondary',
      handler: (blah) => {
        this.obsForm.onSubmit(); // new line
        this.timer = 0;
      }
    }
  ]
});
await alert.present();

}

...