在这里使用redux-form。在ajax请求(选择中的项列表)之后,表单的一部分是异步联合的,这取决于用户在单独字段上选择的内容。
为了达到这个目的,我把新物品放在initialValues
和我enableReinitialize: true
。选择预先填充正确,一切都很好。
但由于我想保留用户可能在表单中添加的其他值,我也是keepDirtyOnReinitialize: true
。
到现在为止还挺好。
问题是,如果用户导航回另一个页面(没有提交表单),我想清除所有表单并从头开始。似乎表单在卸载时被正确销毁,但是当我们再次导航回到表单时,由于keepDirty...
,之前的值被保留
表格的卸载是否应该击败keepDirty
?否则它是在导航回另一页之前手动清理表单的唯一选项还是我错过了一种更简单的方法?
问题是“脏”值实际上是从redux存储中获取的,因此它不是保留它们的形式,而是我保留它们并将它们再次提供给初始值中的redux-form。我需要重新考虑一下我的代码。