I am using angular material in my project. I want to add extra stepper item(mat-step) on every click of addItem button.
I created a plunker here. https:
I would use FormArray along with FormGroup
HTML:
TS Code:
import {Component, OnInit} from '@angular/core';
import {FormBuilder, FormControl,FormGroup, Validators,FormArray} from '@angular/forms';
/**
* @title Stepper overview
*/
@Component({
selector: 'stepper-overview-example',
templateUrl: 'stepper-overview-example.html',
styleUrls: ['stepper-overview-example.css'],
})
export class StepperOverviewExample implements OnInit {
isLinear = false;
formGroup : FormGroup;
form: FormArray;
constructor(private _formBuilder: FormBuilder) {
}
ngOnInit() {
this.formGroup = this._formBuilder.group({
form : this._formBuilder.array([this.init()])
})
this.addItem();
}
init(){
return this._formBuilder.group({
cont :new FormControl('', [Validators.required]),
})
}
addItem(){
this.form = this.formGroup.get('form') as FormArray;
this.form.push(this.init());
}
}
Stackblitz