📜  formarray 在索引处设置值 (1)

📅  最后修改于: 2023-12-03 15:00:50.491000             🧑  作者: Mango

FormArray 在索引处设置值

当我们需要在 Angular 中动态地添加或删除表单控件时,可以使用 FormArray。通过 FormArray,我们可以像操作 FormGroup 中的控件一样地操作单个表单控件。其中,在使用 FormArray 单个表单控件的位置是由索引指定的。接下来我们将为您介绍如何在特定索引处设置表单值。

设置表单控件值

在进行 FormArray 中特定位置的表单控件设置时,可以通过 patchValue 方法进行设置,如下所示:

this.formArrayName.controls[index].patchValue({
  controlName: newValue
})

其中,formArrayName 代表 FormArray 对象;index 代表特定位置的索引;controlName 代表表单控件名称;newValue 代表新值。通过 .patchValue() 方法,我们可以轻松地设置特定位置的表单控件值。

示例

下面我们将通过一个示例来展示如何在 FormArray 中索引处进行控件值的设置。

假设我们有一个表单,其中包含了一个 FormArray,其中我们可以动态地添加多个表单控件。如下所示:

this.form = this.formBuilder.group({
  formArrayName: this.formBuilder.array([])
})

接下来,我们使用 push 方法向 FormArray 中添加一个新的表单控件:

const newForm = this.formBuilder.group({
  controlName: ['']
});
this.formArrayName.push(newForm);

然后,我们可以使用 .patchValue() 方法在特定位置进行表单控件值的设置:

this.formArrayName.controls[0].patchValue({
  controlName: 'new value'
});

这样就可以在 FormArray 中的特定位置设置表单控件的值了。

总结

通过使用 FormArray,我们可以在 Angular 中动态地添加或删除表单控件。在进行特定位置的控件设置时,可以使用 .patchValue() 进行设置。在使用时,请注意要使用正确的索引进行操作,避免数据不一致的问题出现。