【发布时间】:2020-10-05 10:36:07
【问题描述】:
最近,我在 StackOverflow 上提出了以下问题,并收到了惊人的回复,结果是构建了一个递归嵌套的 Angular 表单:Angular Deeply Nested Reactive Form: Cannot find control with path on nested FormArray。 Here is a blog post作者写的关于同一个问题
这种递归嵌套的 Angular 表单让我可以继续构建组 FormArrays,所有这些组都有一个 group 对象:
{
"conjunctor": null,
"conditions": [
{
"variable":
}
"groups": []
}
您可以添加多个conditions 实例并进一步嵌套groups,如this StackBlitz 所示
从本质上讲,Form 组件已被拆分为多个组件:
group-control、condition-form 和 action-buttons-bar(发出动作的按钮)。这种方法可以满足我的所有需求,但是,我在通过这种递归方法修补表单值时遇到了麻烦。
到目前为止,我已经尝试发送一个静态语句对象并将其修补到整个表单本身,以及专门针对 groups 对象。这是它在
应用组件:
(我也在group-control 组件中尝试了相同和相似的方法)。最终我计划使用来自 API 的数据来填充和修补这些值,但现在和测试,使用这些静态数据
ngOnInit() {
const data = {
statement: {
groups: [
{
conjunctor: "and",
conditions: [
{
variable: "asdf"
}
],
groups: []
}
]
}
};
this._form.patchValue(data);
console.log(this._form.value);
}
是否可以在递归表单上修补 statement FormGroup 的表单值?
【问题讨论】:
标签: javascript angular