我发现很多时候我获取/发布到Web服务的数据结构与表单所需的数据结构之间存在细微的差异。使用反应形式时,处理不匹配的最佳方法是什么。我可以在表单组中的单个属性上使用某种类型的getter / setter吗?我要为formGroup名称使用什么?
现在,我正在编写两个转换函数-一个从我的数据模型到我在inform上运行的init上运行的formModel,一个从我的dataModel到我在对formGroup进行补丁之前运行的formModel,一个从我的formModel到我在保存之前运行的dataModel,然后才能将数据回传给我[]
例如,我的Web服务获取/发布此结构有几秒钟,但UI要求持续数天。
interface Request { name:string, description:string, processBy: number //the number of seconds }
但是用户界面只需要询问几天
interface formModel { name:string, description:string, processByDays: number }
<input type="number" formControlName="processByDays" />
我在使用需要数组的自定义列表控件时遇到了类似的问题,但是我的数据是标量,所以我只有一堆笨拙的代码来包装/解包标量值。
我发现很多时候我获取/发布到Web服务的数据结构与表单所需的数据结构之间存在细微的差异。什么是处理...的最佳方法?
没有针对该问题的通用解决方案。但是,您不应该在表单中或表单周围处理此转换。处理保存数据的服务中的转换。您需要为每个字段执行此操作,因为这是特定于您的业务逻辑的转换。