mit I Angular 5 mit Reactive FormenWie zu bestimmen, ob Kind Komponentenform in übergeordneter Komponente gültig ist, wenn reaktive Formen
Kinderkomponentenklasse bin mit:
export class UserEditor implements OnInit {
public userForm: FormGroup;
...
ngOnInit() {
this.createFormControls();
this.createForm();
}
createFormControls() {
this.userName = new FormControl('', [
Validators.required,
Validators.minLength(4)
]);
this.firstName = new FormControl('', Validators.required);
this.lastName = new FormControl('', Validators.required);
this.email = new FormControl('', [
Validators.required,
Validators.pattern("[^ @]*@[^ @]*")
]);
}
createForm() {
this.userForm = new FormGroup({
userName: this.userName,
name: new FormGroup({
firstName: this.firstName,
lastName: this.lastName,
}),
email: this.email,
});
}
In meiner Eltern Komponentenform Ich habe Tasten , die deaktiviert sind, wenn die oben validators nicht gültig
In der übergeordneten Komponente HTML ist:
<button class="btn btn-sm btn-primary" (click)="saveUser()" [disabled]="!userListChild?.userForm.valid">
In der Stammkomponentenklasse:
export class UserList implements OnInit {
@ViewChild(UserEditor) userListChild: UserEditor;
Alles funktioniert gut aber ich die bekannten Fehler
ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'true'. Current value: 'false
ich die Änderungserkennungslösung versucht, in diesem Blog aufgelistet bekommen, aber es hat nicht geholfen.
So bin ich fest, es sei denn, wenn ich den Fehler ignorieren, da die App mit dem Fehler gut funktioniert.