Angular 角度:向FormGroup添加复杂的ControlValueAccessor,而不将其设置为null

Angular 角度:向FormGroup添加复杂的ControlValueAccessor,而不将其设置为null,angular,formgroups,controlvalueaccessor,Angular,Formgroups,Controlvalueaccessor,我面临一个与FormGroups和ControlValueAccessors相关的问题 我制作了一个根编辑器组件,其中包含一个FormGroup。 在它里面,我有一些其他的组件,它们都由多个FormGroup、FormArray和FormControl组成。一个漂亮的嵌套结构。它们还都实现了ControlValueAccessor接口 因此,我的根编辑器组件模板如下所示: editor.component.html 编辑器控制器如下所示: editor.component.ts 导出类编辑器

我面临一个与FormGroupsControlValueAccessors相关的问题

我制作了一个根编辑器组件,其中包含一个FormGroup。 在它里面,我有一些其他的组件,它们都由多个FormGroup、FormArray和FormControl组成。一个漂亮的嵌套结构。它们还都实现了ControlValueAccessor接口

因此,我的根编辑器组件模板如下所示:

editor.component.html

编辑器控制器如下所示:

editor.component.ts
导出类编辑器组件实现OnInit{
editorForm=this.fb.group({
纳税人数据:空,
区域:空,
其他:空
});
组件如下所示:

section-regions.component.ts
导出类SectionRegionComponent实现OnInit、ControlValueAccessor{
regionsFormGroup=this.fb.group({
行:this.fb.array([]),
creditSum:{value:null},
债务总额:{value:null},
余额:{value:null}
});
构造函数(私有fb:FormBuilder){
this.rows.forEach((i)=>{
//为每行创建表单控件
this.rowsFormArray.push(this.fb.group({
regionCode:null,
tributeCode:null,
分期付款:无效,
referenceYear:[null,{validators:[validators.pattern(“^[0-9]*$”)}],
debtAmount:[null,{validators:[validators.pattern(“^[0-9]*$”)}],
creditAmount:[null,{validators:[validators.pattern(“^[0-9]*$”)}],
}))
}
}
我的问题如下:如果我以这种方式将其他FormControl添加到editorForm
,我会将它们设置为null,从而丢失它们的内部结构(FormArray包含FormControl的FormGroups)

有没有办法检索它们并告诉Angular“按原样”使用它们?每个组件都已经在初始化它们的内部结构,我不明白为什么在添加FormControl时需要指定一个值

谢谢大家的帮助,我刚开始使用AngularJS(来自AngularJS),我有点迷路了