棱角分明如何用恢复字段结构的数据填充formArray?

问题描述

我有一个包含多个部分的 Angular 动态表单。该部分可以是 formGroupformArray。每个部分还可以有一个 formGroup一个 formArray。我想实现未保存的表单更改的回滚。为此,我有一组来自上次保存的值,这些值是从 NGRX 存储中获取的。当更改回滚时,我使用 patchValue 用数据填充表单。但是,如果在编辑表单期间从 formArray删除了字段,则 patchValue 将仅填充可用字段的数据。如何在不使用所有字段的手动迭代的情况下使用正确数量formArray 恢复表单的配置?

解决方法

这是解决方案之一:

创建一个函数,用 formArray 初始化 formGroup,formGroup 字段基于上次保存时从 ngrx 存储中获取的值。

所有更改都将在表单组中完成 - 可以添加、删除或编辑部分。

现在,如果需要回滚更改,只需再次调用该函数即可。这将使用上次保存的 ngrx 存储中的值重新初始化表单,因此将删除编辑的更改。

如果更改已保存,则在 ngrx 存储中进行更改

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...