点击提交按钮后,在提交之前会重置表单。
我使用Formik创建了一个表单。我尝试使用Formik的resetForm在提交后重置表单。但是它在提交之前重置了表单并提交了一个空表单。这是我的表单:
{({ values, handleBlur, handleChange, handleSubmit, setFieldValue, resetForm, }) => ( )}
我不确定是否应该分享handleFormSubmit函数,但是这是它:
const handleFormSubmit = async (values, onSubmitProps) => {
const formData = new FormData();
for (let value in values) {
formData.append(value, values[value]);
}
formData.append("picturePath", values.picture.name);
fetch(`http://localhost:5000/api/home-profile/${data[0]._id}`, {
method: "PUT",
body: formData,
headers: {
Authorization: "Bearer " + token,
},
})
.then((res) => {
console.log(res.status);
})
.catch((err) => {
console.log(err);
});
}; Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
删除 onClick={resetForm} :
然后在你的 handleFormSubmit 中:
...
.then((res) => { console.log(res.status); }) .catch((err) => { console.log(err); }) .finally(() => { resetForm(); //this });如果对你有用,请告诉我。