Help Keep Angular Forms Type-Safe

Help Keep Angular Forms Type-Safe

class MyComponent {
myForm: FormGroup = this.fb.group({
firstName: [''],
lastName: ['']
email: ['']
});

constructor(private fb: FormBuilder) {}

onSubmit() {
console.log(this.myForm.value);
}
}

myForm: FormGroup = this.fb.group<MyFormModel>({
firstName: [''],
lastName: ['']
email: ['']
});

interface MyFormModel {
firstName: string;
lastName: string;
email: string;
}

private createForm(model: MyFormModel): FormGroup {
return this.fb.group(model);
}

private updateForm(model: Partial<MyFormModel>): void {
this.myForm.patchValue(model)
}

get formValue() {
return this.myForm.value as MyFormModel;
}

import { Component } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';

interface MyFormModel {
firstName: string;
lastName: string;
email: string;
}

@Component(...)
export class MyComponent {
myForm: FormGroup = this.createForm({
firstName: '',
lastName: '',
email: ''
});

get formValue() {
return this.myForm.value as MyFormModel;
}

constructor(private fb: FormBuilder) {}

onSubmit() {
console.log(this.myForm.value);
}

private createForm(model: MyFormModel): FormGroup {
return this.fb.group(model);
}

private updateForm(model: Partial<MyFormModel>): void {
this.myForm.patchValue(model)
}
}

Alternate Text Gọi ngay