FormGroup仍然具有控件,尽管已动态删除

时间:2018-07-24 09:50:21

标签: angular-forms angular-validation

我们有一个角度页面,具有左栏(说成分A),主要内容(说成分B)和右侧栏(说成分C)的结构。

在左栏中,我们动态添加了自定义控件。自定义控件具有2个文本框(带有验证)和一个按钮。每个控件下都有一个名为“删除”的按钮,因此单击该控件将被删除。

右侧栏上的按钮显示“保存”。一旦用户点击它,验证就会被触发(如果适用)或保存数据。

问题: 假设我在左侧栏中有5个控件。假设他们的名字是ctrl01,ctrl02,ctrl03,ctrl04,ctrl05 当我单击ctrl02的删除按钮时,它将被删除。然后FormGroup只有4条记录ctrl01,ctrl03,ctrl04,ctrl05,UI也是

但是,当我删除ctrl03 / ctrl04 / ctrl05时,该对象已从UI中删除,但是FormGroup仍然具有ctrl01,ctrl02,ctrl03,ctrl04,ctrl05。

因此,应用程序不会保存ctrl01的数据,因为针对已删除的控件(ctrl03,ctrl04,ctrl05)触发了验证,但这些控件仍然是FormGroup的一部分。

请注意,仅在删除第二个及以后的控件后才会出现此问题。对于“第一次”,它可以正常工作。

我还检查了保存所有这些记录的对象在删除后是否已正确更新。它正在正确更新。这就是UI显示正确数量的Custom控件的原因。只是FormGroup导致了此问题。

0 个答案:

没有答案