如何在 React 中设置 DatePicker 的值
How to set value of the DatePicker in React
我想在单击设置日期按钮时设置 DatePicker
值的日期,但出现此错误 RangeError Invalid time value
import React from "react";
import "./styles.css";
import DatePicker from "react-datepicker";
export default function App() {
const my_date = "26/05/2020";
var [edit_check_date, set_edit_check_date] = React.useState(new Date());
const set_date = () => {
set_edit_check_date(my_date);
};
return (
<div className="App">
<input type="submit" value="set date" onClick={set_date} />
<DatePicker
dateFormat="dd/MM/yyyy"
className="form-control"
selected={edit_check_date}
onChange={date => set_edit_check_date(date)}
/>
</div>
);
}
我已经使用 react-datepicker
准备了一个示例。除了显示 alert
以查看更改日期外,我没有更改您的任何代码。这是完整的示例:
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import React, {useState} from "react";
export default function DatePickerEx() {
const [edit_check_date, set_edit_check_date] = useState(new Date());
const open_modal = record => {
/* record.check_date value is '25/05/2020' */
set_edit_check_date(record.check_date); // This is making the error
};
function clickHandler(event) {
const my_date = new Date( "2020-05-26");
set_edit_check_date(my_date);
}
return (
<div>
<DatePicker
dateFormat="dd/MM/yyyy"
className="form-control"
selected={edit_check_date}
onChange={date => {
set_edit_check_date(date);
alert(date);
}}
/>
<button onClick={clickHandler}>Set 2020-05-26</button>
</div>
);
}
更新
function clickHandler(event) {
let date = "26/05/2020";
let my_date = new Date(date.split("/").reverse().join("-"));
console.log(date);
console.log(my_date);
set_edit_check_date(my_date);
}
我想在单击设置日期按钮时设置 DatePicker
值的日期,但出现此错误 RangeError Invalid time value
import React from "react";
import "./styles.css";
import DatePicker from "react-datepicker";
export default function App() {
const my_date = "26/05/2020";
var [edit_check_date, set_edit_check_date] = React.useState(new Date());
const set_date = () => {
set_edit_check_date(my_date);
};
return (
<div className="App">
<input type="submit" value="set date" onClick={set_date} />
<DatePicker
dateFormat="dd/MM/yyyy"
className="form-control"
selected={edit_check_date}
onChange={date => set_edit_check_date(date)}
/>
</div>
);
}
我已经使用 react-datepicker
准备了一个示例。除了显示 alert
以查看更改日期外,我没有更改您的任何代码。这是完整的示例:
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import React, {useState} from "react";
export default function DatePickerEx() {
const [edit_check_date, set_edit_check_date] = useState(new Date());
const open_modal = record => {
/* record.check_date value is '25/05/2020' */
set_edit_check_date(record.check_date); // This is making the error
};
function clickHandler(event) {
const my_date = new Date( "2020-05-26");
set_edit_check_date(my_date);
}
return (
<div>
<DatePicker
dateFormat="dd/MM/yyyy"
className="form-control"
selected={edit_check_date}
onChange={date => {
set_edit_check_date(date);
alert(date);
}}
/>
<button onClick={clickHandler}>Set 2020-05-26</button>
</div>
);
}
更新
function clickHandler(event) {
let date = "26/05/2020";
let my_date = new Date(date.split("/").reverse().join("-"));
console.log(date);
console.log(my_date);
set_edit_check_date(my_date);
}