Angular 动态创建的嵌套响应式表单 - 如何获取子表单值以更新父表单值?
Angular dynamically created nested reactive form - How to get child form values to update parent form value?
查看我的plnkr:http://plnkr.co/edit/OSMtkjWGsDUz1wENtRDR?p=preview
我有 3 个组件:
1) App:基本形式。这包含对 "mini forms" 的引用,即代码
中的子控件
2) AppChild:这些代表单个 "mini form"
3) AppOption:这些是 AppChild
中的单个输入控件
您可以点击"Add Control"添加新的AppChild,点击"Click to add a new option +"为AppChild添加AppOption。
正如您在我的 plnkr 上看到的那样 - 每个单独的迷你表单(子控件)都打印出了正确的表单值。
和基本表格 - 可以识别正确的迷你表格数量。
但是我该如何获取它,以便将迷你表单值包含在基本表单值中 - 而不是空数组 []?
我在 plunkr 上添加了一条评论,我认为这是问题所在,但我不确定这是否是 reason/or 如何修复第 49 行
initControl() {
return this.fb.array([]);
}
不是真正的完整解决方案,但请开始查看此示例。它可能会给你一些想法。
https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2
您可以创建 FormGroup
而不是 FormArray
。
app.component.ts
initControl() {
return this.fb.group({});
}
然后在你的app-sub-form component
中操纵这个组
app-sub-form.component.ts
ngOnInit() {
// We've already had FormGroup, so we can add control to it
this.subForm.addControl('subOptions', this.fb.array([]));
this.addOptions();
}
查看我的plnkr:http://plnkr.co/edit/OSMtkjWGsDUz1wENtRDR?p=preview
我有 3 个组件:
1) App:基本形式。这包含对 "mini forms" 的引用,即代码
中的子控件2) AppChild:这些代表单个 "mini form"
3) AppOption:这些是 AppChild
中的单个输入控件您可以点击"Add Control"添加新的AppChild,点击"Click to add a new option +"为AppChild添加AppOption。
正如您在我的 plnkr 上看到的那样 - 每个单独的迷你表单(子控件)都打印出了正确的表单值。
和基本表格 - 可以识别正确的迷你表格数量。
但是我该如何获取它,以便将迷你表单值包含在基本表单值中 - 而不是空数组 []?
我在 plunkr 上添加了一条评论,我认为这是问题所在,但我不确定这是否是 reason/or 如何修复第 49 行
initControl() {
return this.fb.array([]);
}
不是真正的完整解决方案,但请开始查看此示例。它可能会给你一些想法。
https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2
您可以创建 FormGroup
而不是 FormArray
。
app.component.ts
initControl() {
return this.fb.group({});
}
然后在你的app-sub-form component
app-sub-form.component.ts
ngOnInit() {
// We've already had FormGroup, so we can add control to it
this.subForm.addControl('subOptions', this.fb.array([]));
this.addOptions();
}