我正在更新我的文本字段上的日期。当我更新日期字段时,它变成了这个
但是我想在更新时实现这一目标。出生日期字段将是这样,只有日期会更新。
这是我的代码
const [userData, setUserData] = useState({
name: "",
phone: "",
address: "",
birthdate: new Date().toISOString(),
gender: "",
messenger: "",
_id: "",
})
const [isRedirected, setIsRedirected] = useState(false)
const { _id, name, phone, address, birthdate, gender, messenger } = userData
useEffect(() => {
const user = getUser()
getUserById("/user/" + user.userId, user.token).then((data) => {
setUserData(data)
})
}, [])
const handleChange = (name) => (e) => {
setUserData({ ...userData, [name]: e.target.value })
}
// let test = new Date(birthdate).toISOString()
// console.log(test)
const clickSubmit = (e) => {
const users = getUser()
e.preventDefault()
updateUser(_id, users.token, userData).then((data) => {
if (data) {
Swal({
text: "Your information has been updated",
icon: SparkWaving,
}).then(() => {
setIsRedirected(true)
})
} else {
Swal({
title: "User updated failed.",
text: "The server encountered an error.",
icon: "error",
})
}
})
}
我的代码中是否缺少任何内容?
看来您可能需要先打电话,.toISOString()
然后再打电话handleChange
给您的约会对象。或者,setUserData
如果您已经handleChange
在代码中的其他地方使用,则单独调用。
假设您希望 userData 状态对象在日期控件的事件处理程序中包含 ISO 日期字符串:
const handleDateChange = newDateString => {
setUserData({
...userData,
birthDate: new Date(newDateString).toISOString()
})
}
<TheDatePicker onChange={(e) => handleDateChange(e.target.value)} />
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句