我需要创建一些具有相同定义的表单组。因此,我创建了一个具有以下结构的常量:
export const predefinedFormGroup = {
'field1': new FormControl(null, [Validators.required]),
'field2': new FormControl(null, [Validators.required]),
'field3': new FormControl(null, [Validators.required]),
'field4': new FormControl(null)
};
我需要将其作为一个对象,因为我不仅使用它来创建formgroup,还为了其他目的在字段上进行了一些迭代。
然后,我使用以下方法创建FormGroup:
this.form = new FormGroup(predefinedFormGroup)
这是可行的,但有一个大问题:
在字段上使用类型信息时,成本会发生变化,因为TypeScript通过引用传递预定义的FormGroup,所以下次使用保存行时
this.form = new FormGroup(predefinedFormGroup)
若要创建具有相同结构的另一个formGroup,该表单会被第一个formGroup中填充的值弄脏。
我知道我可以使用表单。reset()清除值,但我确信有更好的方法通过val将结构传递给FormGroup。
有人能帮忙吗?