📅  最后修改于: 2023-12-03 15:29:23.447000             🧑  作者: Mango
在 Angular 表单中,如果需要处理多个表单项,可以使用 FormArray。但是,在某些情况下,可能需要全部删除 FormArray 中的项。下面是如何实现这一功能的方法:
首先,需要获取 FormArray 中的所有控件。可以使用以下方法:
const controls = (this.formGroup.get('formArrayName') as FormArray).controls;
其中,formArrayName
是 FormArray 的名称。
可以使用以下代码删除所有控件:
controls.forEach(control => (this.formGroup.get('formArrayName') as FormArray).removeAt(0));
其中,removeAt()
方法可以删除指定位置的控件,此处我们删除的是第一个控件,因此传入的参数为 0。
以下是完整的代码示例:
const controls = (this.formGroup.get('formArrayName') as FormArray).controls;
controls.forEach(control => (this.formGroup.get('formArrayName') as FormArray).removeAt(0));
注意,此处的 this.formGroup
是 FormGroup 的实例对象。如果需要在组件中使用 FormArray,需要先实例化 FormGroup 对象。