this.editModel = fb.group({
params: this.fb.array([
new FormGroup({
x: new FormControl(null),
y: new FormControl(null)
})
]),
});
// this.index = 0;
// this.dynamicArr = [];
addForm (flag) {
this.index += 1;
this.dynamicArr.push({
id: this.index,
value: `obj${this.index}`
});
(this.editModel.controls[flag] as FormArray).push(new FormGroup({x: new FormControl(null), y: new FormControl(null)}));
}
minusForm(index, flag) {
this.dynamicArr.splice(index, 1);
(this.editModel.get(flag) as FormArray).removeAt(index);
}
<div class="ui-grid-row">
<div class="ui-grid-col-2"></div>
<div class="ui-grid-col-8">
<label>参数:</label>
<i class="fa fa-plus-square" aria-hidden="true" style="cursor: pointer;" (click)="addForm('params')"></i>
</div>
</div>
<div formArrayName="params" class="ui-grid-row margin-bottom-1vw" *ngFor="let item of editModel.get('params')['controls']; let i = index;">
<div class="ui-grid-col-2"></div>
<div class="ui-grid-col-8" [formGroupName]="i">
<label></label>
<p-dropdown [options]="parameterOption" formControlName="x" filter="true" [style]="{'width': '130px'}"></p-dropdown>
<span>-</span>
<input type="text" formControlName="y" pInputText [style.width.%]="30"/>
<i class="fa fa-minus-square" aria-hidden="true" style="cursor: pointer;" (click)="minusForm(i, 'params')"></i>
</div>
</div>