3

我有一组反应形式,我将它们设置为反应形式数组:

typesForms: FormGroup[] = [];

我在我的html中循环:

<form *ngFor="let type of typesForms; let i = index" [formGroup]="typesForms[i]" class="row">

但是,当我推送新表单时,HTML 不会更新。

this.typesForms.push(this.formBuilder.group({
    type: { value: data['type'], disabled: true }
}));

我已经注销了结果数据,它显示了新的表单对象,但前端没有。我认为这与反应形式有关,但我不确定我是否在搞砸其他事情。

4

1 回答 1

1

你试过了<form *ngFor="let type of typesForm" [formGroup]="type" class="row">吗?


更新:

如果你有多个表单,你可以利用 Angular 内置的FormArray数据结构。它确实简化了对一组表单组的操作 - 允许您轻松跟踪更改并验证链接FormGroup的 's 或FormControl's。

朋克示例

注意:多亏了事物的底层结构,ReactiveFormsModule 可以根据需要组合FormArrays、FormGroups 和FormControls:

  • 你可以有一个FormArrayas 字段FormGroup
  • FormArray可以包含FormArrays、FormGroups 和FormControls
于 2017-06-04T22:19:40.560 回答