我想在表单上方显示:“您有未保存的更改”(当表单不是原始的时)和“保存”(提交)和“放弃”(重置)按钮。
如何在表单外访问诸如“原始”、“提交”和“form.reset”之类的内容?
我只能找到一个带有外部提交的示例(https://final-form.org/docs/react-final-form/examples#external-submit),但这些东西似乎并不遵循相同的模式。
我想在表单上方显示:“您有未保存的更改”(当表单不是原始的时)和“保存”(提交)和“放弃”(重置)按钮。
如何在表单外访问诸如“原始”、“提交”和“form.reset”之类的内容?
我只能找到一个带有外部提交的示例(https://final-form.org/docs/react-final-form/examples#external-submit),但这些东西似乎并不遵循相同的模式。
我将整个组件包裹在<Form>
element.js 中。似乎是最干净的解决方案。
如果您处于无法将所有内容封装在<Form>
标签中的情况,您可以form
使用MutableRefs
.
form
然后可以使用此实例访问表单状态、更改字段值等等。了解更多form
实例的能力- React Final Form - Form API
关于如何提取form
实例的说明 -从表单外部访问 react-final-form 值
试试这个解决方案并告诉我什么
const submitListener = createDecorator({
beforeSubmit: formApi => {
alert("go");
formApi.reset();
},
afterSubmitSucceeded: formApi => { alert("ok") },
afterSubmitFailed: formApi => { alert("ko") },
})