我正在尝试在主窗体对象中更改一个对象。我首先制作了一个简单的fieldFormStructure,只是为了维护裸露的骨架。
fieldFormStructure = this.fb.group({
name: '',
Properties: this.fb.group(
{
referenceTypeData: this.fb.group(
{
'SourceId': this.fb.array([]),
'SourceIdString': '',
}),
imageTypeData: this.fb.group({
'ItemSelectType': '',
'Source': this.fb.group({
DAMSource: '',
ContentStudioSource: '',
})
}),
}
)
});
然后在ngOnInit上初始化表单。
this.fieldForm = this.fieldFormStructure;
除非我尝试对其进行一些更改,否则这一切都很好。
在功能更改上,我基本上是在尝试重置fieldForm。
this.fieldForm.get('Properties').patchValue(_.cloneDeep(this.fieldFormStructure.get('Properties').value));
fieldForm中没有任何变化。怎么了?
答案 0 :(得分:0)
例如,如果您有
这样的表单组this.sampleForm=new FormGroup(
{
email:new FormControl(null,Validators.required),
password:new FormControl(null,Validators.required),
gender:new FormControl('male'),
education:new FormGroup(
{
sslc:new FormControl('Pass'),
hsc:new FormControl('Pass')
}
),
input:new FormArray([])
}
);
这是设置补丁值的方法
this.sampleForm.patchValue({
email:'lachu@gmail.com',
input:['data',''] //for array index 0 i am setting patch value and second
one i am setting null value
});