React-admin 在创建视图提交后保留表单数据

React-admin keep form data after create view submit

在 react-admin Create 表单中,有没有办法让用户在表单中输入的任何信息在用户单击 Save 后保留在屏幕上?

我想重新使用他们输入的相同表单数据来创建另一条记录。

更新:

根据这个 PR,看起来 react-admin 在创建/编辑表单提交后清除表单状态。

不幸的是,我没有找到记录的方法,如何防止这种默认行为。

从 PR 中,我了解到传递 redirect={false}to={{ state: { skipFormReset: true } }} 可能会阻止表单状态清除。类似的东西:

<CreateButton redirect={false} to={{ state: { skipFormReset: true } }} />

另一种选择(解决方法)- 创建后,您可以尝试使用您已经填写(创建)的数据更新当前创建表单 defaultValue


原回答: redux-form 将在卸载组件时自动销毁表单及其状态(数据)。

您可以阻止此默认表单行为并在卸载后保持表单状态,如通过:

destroyOnUnmount: false

destroyOnUnmount documentation.

在更新 react-admin 到 v3.19 之前 redirect={false} 完成了工作并保留了输入。

更新后:
redirect={false} : 保持当前路线并清空表格(不re-render,默认清空表格)

redirect={create/edit} :保持当前 create-route,在呈现组件时将条目保留在输入表单中,并且 input-values 可能取自某些内部状态处理。