📅  最后修改于: 2023-12-03 15:00:50.491000             🧑  作者: Mango
当我们需要在 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()
进行设置。在使用时,请注意要使用正确的索引进行操作,避免数据不一致的问题出现。