reactjs - 反应日期选择器 - 无效的时间值
问题描述
我正在尝试创建一个 React-datepicker;但是,我收到此错误:
RangeError:时间值无效
我添加了一个dateFormat来匹配我的日期变量;但是,我仍然遇到同样的错误?
我究竟做错了什么?
import DatePicker from "react-datepicker";
let date = moment(dateString).format('MMMM d, YYYY h:mm a'); // January 3, 2019 12:30 pm
<DatePicker
selected={date}
onChange={this.handleInputChange}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
dateFormat="MMMM d, YYYY h:mm a"
timeCaption="time"
/>
我也试过dateFormat="MMMM d, yyyy h:mm aa"。
解决方案
ADatePicker
期望 a Date
,而不是 a moment
。你必须先转换它:
let date = moment(dateString).toDate();
从 DatePicker文档:
直到版本 1.8.0,这个包使用 Moment.js。从 v2.0.0 开始,我们切换到使用原生 Date 对象来减小包的大小。如果您从 1.8.0 切换到 2.0.0 或更高版本,请查看上面的更新示例,查看示例站点以获取最新示例。