最好的方法。在angular里有一个表单,包含一个组件列表,其中有更多的表单

问题描述 投票:0回答:1

所以我目前面临以下问题。

我有一个customer.component,其中包含一个FormsGroup(数据如名,姓存储在这里)和保存按钮。一个客户可以有多个账户。我想创建一个新的组件 "account-list.component "来管理所有的添加和删除项目和其他东西。之后,我会创建另一个名为 "account-item.component "的组件,它本身有一个FormGroup(accountNumber和accountName)。这个组件在account-list.component中的*ngFor中使用。

但是我想如果我有这个功能,我将会很难同步所有的表单,因为如果子组件的一个表单有任何验证错误,保存按钮应该被取消。我也不知道目前如何实现变化检测。我想,如果我从一个子组件中发出数据变化,并覆盖了父母组件中的变化,这很可能也是子组件的输入,那么焦点就会出现问题(这将导致子组件重新渲染,焦点丢失)。

你知道如何解决这个问题吗?我想了一整天,也在网上搜索了一下,但我找到的都是一个父表单组与 一个 的组件有另一个formGroup。找不到任何例子,当你的整个列表中的formGroups在另一个formGroup中。

我希望得到答案和建议

angular typescript angular-reactive-forms reactive-forms
1个回答
0
投票

但是我想如果我有这样的组件,我将难以同步所有的表单,因为如果在子组件的一个表单中出现任何验证错误,保存按钮应该被取消。我也不知道目前如何实现变化检测。我想,如果我从一个子组件中发出数据变化,并覆盖了父母组件的变化,那么焦点就会出现问题,而父母组件很可能也是子组件的输入(这将导致子组件重新渲染,焦点丢失)。

不要把事情想得太复杂。

我根据你说的,在stackblitz上重现了形式。

我用的是 FormBuilder 创建客户表格和 FormArray 帐户清单。

© www.soinside.com 2019 - 2024. All rights reserved.