Angular › Forms
How would you build a dynamic form with a variable number of fields, such as a list of phone numbers, using reactive forms?
IntermediateAnswer
You use a FormArray, which holds a dynamic list of form controls, letting you add or remove entries at runtime, such as letting a user add as many phone numbers as they need, while Angular keeps track of the validity of the entire array of fields.
form = new FormGroup({
phoneNumbers: new FormArray([new FormControl('')])
});
addPhoneNumber() {
(this.form.get('phoneNumbers') as FormArray).push(new FormControl(''));
}Real-world example A job application form lets a user add multiple previous employers dynamically, using a FormArray to manage however many entries the user decides to add, without needing to predefine a fixed maximum number of fields.