【发布时间】:2020-09-21 01:37:15
【问题描述】:
尝试从嵌入更大控制形式的两个React Date Pickers 更新状态对象data,但不能这样做。任何想法我错过了什么?提前谢谢你。
在此处实时预览: https://codesandbox.io/s/autumn-https-nyr28?file=/src/App.js
export default function App() {
const [data, setData] = useState({
async: true,
from: "",
to: ""
});
const handleChange = event => {
let target = event.target;
let value = target.type === "checkbox" ? target.checked : target.value;
let name = target.name;
setData(previousSearchData => ({
...previousSearchData,
[name]: value
}));
};
const handleSubmit = event => {
event.preventDefault();
console.log(data);
};
return (
<form onSubmit={handleSubmit}>
Checkbox:{" "}
<input
name="async"
type="checkbox"
checked={data.checkbox}
onChange={handleChange}
/>
<br />
From:{" "}
<ReactDatePicker
name="from"
selected={data.from}
onChange={handleChange}
timeInputLabel="Start time:"
dateFormat="yyyy/MM/dd h:mm aa"
showTimeInput
/>
To:{" "}
<ReactDatePicker
name="to"
selected={data.to}
onChange={handleChange}
timeInputLabel="End time:"
dateFormat="yyyy/MM/dd h:mm aa"
showTimeInput
/>
<input type="submit" value="submit" />
</form>
);
}
【问题讨论】:
-
如果可能的话,你能把它复制到 JS Fiddle、Codepen.io 或其他东西上以便我们重现吗?
-
当然,对于延迟很抱歉,但很难让它工作。实时预览链接已更新为原始帖子。