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
在更新 react-admin 到 v3.19 之前 redirect={false}
完成了工作并保留了输入。
更新后:
redirect={false}
: 保持当前路线并清空表格(不re-render,默认清空表格)
redirect={create/edit}
:保持当前 create-route,在呈现组件时将条目保留在输入表单中,并且 input-values 可能取自某些内部状态处理。
在 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
在更新 react-admin 到 v3.19 之前 redirect={false}
完成了工作并保留了输入。
更新后:
redirect={false}
: 保持当前路线并清空表格(不re-render,默认清空表格)
redirect={create/edit}
:保持当前 create-route,在呈现组件时将条目保留在输入表单中,并且 input-values 可能取自某些内部状态处理。