首页 > 解决方案 > 反应日期选择器 - 无效的时间值

问题描述

我正在尝试创建一个 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"

标签: reactjsdatepickerreact-datepicker

解决方案


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 或更高版本,请查看上面的更新示例,查看示例站点以获取最新示例。


推荐阅读