Мне было интересно, есть ли какой-нибудь способ получить «отправленное» состояние Реактивной формы.
С помощью шаблонно-управляемых форм вы можете получить доступ к FormGroupDirective через 'ngForm' следующим образом
<form #form='ngForm' (ngOnSubmit)="handleSubmit()">
<p *ngIf="form.invalid && form.submitted">Invalid</p>
<button type="submit">Submit</button>
</form>
Но при использовании реактивных форм я не могу достичь той же функциональности, не объявив собственную переменную, которую я обновляю / сбрасываю при отправке, что кажется странным, поскольку в варианте, управляемом шаблоном, это не требуется.
То, что я попробовал до сих пор:
- (в компоненте) @ViewChild (FormGroupDirective) formGroupDirective / (в шаблоне) formGroupDirective.submitted
- ExpressionChangedAfterItHasBeenCheckedError
- form = "ngForm" [formGroup] = "myForm"
- Существует несколько директив с exportAs, установленным в ngForm
Есть предложения?
РЕДАКТИРОВАТЬ: реактивная форма
<form [formGroup]="myForm" (submit)="doSomething()">
<input formControlName="myInput">
<p *ngIf="myForm.invalid">This is visible before submitting</p>
<button type="submit">Submit</button>
</form>