我有DatePicker
:
import DatePicker from 'react-datepicker';
const { state } = useLocation();
const [dateVisit, setDateVisit] = useState(new Date());
const editVist = async (e) => {
e.preventDefault();
console.log(dateVisit)
}
.....
<form onSubmit={(e) => editVist(e}>
<DatePicker
selected={dateVisit}
onChange={date => setDateVisit(date)}
value = {state.dataFiresStamp}
timeInputLabel="Time:"
dateFormat="MM/dd/yyyy h:mm aa"
showTimeInput
withPortal
/>
</form>
值是正确设置和显示的。
现在当我改变的时候Date&Time
。然后点击editVisit
。进入console
显示我已更正的新日期,但value into DatePicker has been not changed
(仍显示旧值)。
我所做的基于https://reactdatepicker.com/
:
const [dateVisit, setDateVisit] = useState();
const editVist = async (e) => {
e.preventDefault();
let updateDateVisit;
if (dateVisit === undefined) {
updateDateVisit = state.dataFiresStamp
} else {
updateDateVisit = dateVisit
}
}
...
<DatePicker
selected={dateVisit}
onChange={date => setDateVisit(date)}
placeholderText={state.dataFiresStamp} //display data
timeInputLabel="Czas:"
dateFormat="MM/dd/yyyy h:mm aa"
showTimeInput
withPortal
/>