Angular - Form Array push specific index

Michalis picture Michalis · Jun 11, 2017 · Viewed 7.5k times · Source
addStop() {
    const control = <FormArray>this.editForm.controls['stops'];
    control.push(this.initStop());
}

I have this code to add a "stop" at the bottom of the form array. But I want to add the new "stop" not to the last position, but one position before the last stop.

This doesn't work for example (not at all, I know that the numbers are wrong. Splice function doesn't exist at )

control.splice(2, 0, this.initStop());

Answer

developer033 picture developer033 · Jun 11, 2017

Use FormArray#insert:

control.insert(<position>, this.initStop());