【发布时间】:2021-10-12 11:19:19
【问题描述】:
我在我的反应应用程序中使用 Formik。我尝试使用 isSubmitting 属性更改按钮启用/禁用的状态,但它似乎不起作用。既不是按钮文本更新也不是样式。我找到了一个示例解决方案,但这也不起作用。这是不起作用的示例代码的链接。谁能解释一下? Formik sandbox code example
【问题讨论】:
标签: reactjs forms validation formik onsubmit
我在我的反应应用程序中使用 Formik。我尝试使用 isSubmitting 属性更改按钮启用/禁用的状态,但它似乎不起作用。既不是按钮文本更新也不是样式。我找到了一个示例解决方案,但这也不起作用。这是不起作用的示例代码的链接。谁能解释一下? Formik sandbox code example
【问题讨论】:
标签: reactjs forms validation formik onsubmit
您不需要做任何特别的事情 - formik 会自动等待 onSubmit 处理程序。只要确保它返回一个可以等待的Promise。
在您的示例中,您将立即从 handleSubmit 返回。
async function handleSubmit(values, { setSubmitting }) {
console.log("submitted");
setTimeout(() => setSubmitting(false), 2000);
// this returns immediately
}
像这样更新您的示例代码:
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms))
async function handleSubmit(values) {
console.log("submitted", values);
await delay(2000)
}
【讨论】: