我的输入类型为" date":
<input type="date" value="2016-08-16"/>
但是,如果我尝试选择另一个日期 - 例如2016年8月11日 - 输入中的值不会更新,并且始终是2016年8月16日。
我在Chrome版本53.0.2785.116(64位)中测试页面。我想念元素宣言中的某些内容吗?
答案 0 :(得分:0)
您需要使用变量处理输入值。
const [user, setUser] = useState({ name: "James", age: 33 });
const [newUserName, setNewUserName] = useState("");
const [newUserAge, setNewUserAge] = useState(user.age);
const changeName = () => {
setUser({
name: "Joe",
age: 25
});
};
function changeUserName(e) {
setNewUserName(e.target.value);
}
function changeUserAge(e) {
setNewUserAge(e.target.value);
}
return (
<>
<div>{user.name}</div>
<div>{user.age}</div>
<input
type="text"
value={newUserName}
onChange={changeUserName}
placeholder="new user name"
/>
<input
type="number"
value={newUserAge}
onChange={changeUserAge}
placeholder="new user age"
/>
<button onClick={changeName}> change </button>
</>
);