我正在尝试使用 useState 设置输入的值,但它无法按照我想要的方式工作。
因此,我使用 Formik 创建了一个用于预约系统的每周时间表。我有免费预约的单选按钮。当选择时,我会获得约会的时间数据。但我没有得到这一天。所以我尝试添加另一个输入来获取日数据。我将输入的值设置为状态。当选择单选按钮时,它会设置日期。但是 onSubmit 我得到的是初始值,而不是新设置的值。有趣的是,当我尝试在输入中写入内容时,它会返回我想要的值+我按下的最后一个键。但如果我什么都不做,它只会返回初始值。
我的表单的初始值:
const [day, setDay] = useState("Gün");
<Formik
onSubmit={handleFormSubmit}
initialValues={{
firstname: "",
lastname: "",
email: "",
date: "",
day: day,
}}
>
我设置状态的单选按钮:
<Field
type="radio"
name="date"
value={x.monPm3Time}
onClick={() => {
setDay("Pazartesi");
}}
/>
我的输入的值设置为 state:
<Field
id="day"
name="day"
value = {day}
/>
我的handleSubmit函数(我现在只是登录它们看看它是否有效):
const handleFormSubmit = async (values) => {
console.log(values);
// fetch("http://localhost:5000/api/appointment", {
// method: "POST",
// body: values,
// headers: {
// Authorization: "Bearer " + token,
// },
// })
// .then((res) => {
// console.log(res.status);
// })
// .catch((err) => {
// console.log(err);
// });
} Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号