Как вы можете перехватить onSubmit в Angular *module* при использовании formio

Я действительно потратил часы на это, но безрезультатно. Пора вызывать кавалерию.

Существует множество примеров того, как перехватывать onSubmit для формы formio, когда она настроена как компонент в Angular. Но я не могу найти ни одного примера перехвата onSubmit для формы formio, настроенной как модуль.

Почему это важно? После отправки новой или отредактированной записи в форме формы URL-адрес по умолчанию указывает на представление этой записи .../<form>/<recid>/view. Я хочу перенаправить на другой URL. Это легко, когда форма определена как компонент Angular:

export class AssessmentFormComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

  onSubmit(submission: any) {
    window.location.href = 'about:blank';
    alert('Thank you for completing the assessment');
  }
}

Я пробовал аналогичный код в модуле, код внутри onSubmit никогда не запускается. Очевидно, есть способ сделать это; Я просто не могу найти его. Пожалуйста, порекомендуйте.


person Alan Collins    schedule 07.07.2020    source источник


Ответы (1)


Вы можете добавить HTML для formio, как это

<formio #Form [form]="form" [submission]="formSubmission"
    (change) = "onChange($event)" [options]="formIoOptions"
    (submit) = "onSubmit($event)" (render)="onFormLoad(Form)">
</formio>

в .ts напишите свой метод onSubmit.

person Vinay    schedule 11.07.2020
comment
Спасибо за ответ Винджей. Мне непонятно, где должен находиться этот HTML. Когда у вас будет время, пожалуйста, разверните ответ. Спасибо. - person Alan Collins; 13.07.2020
comment
Этот HTML будет внутри компонента, где вы хотите написать логику вашей формы. - person Vinay; 14.07.2020