React-datepicker更改日期但不更改时间

时间:2017-06-26 12:18:27

标签: reactjs datepicker react-datepicker

我正在使用带有react-datepicker的Moment.js。它按照ISO-8601的日期转换的方式工作,但我无法使其符合时间。

这是我的组件:

最初陈述:

this.state = {
            from: moment().subtract(7, "days"), // Default 1 week back
            to: moment(), // Current date
        };

组件本身:

<DatePicker
    dateFormat="DD-MMM HH:mm"
    dropdownMode="select"
    selected={this.state.from}
    onChange={this.handleFromChange}
/>

onchange触发器:

handleFromChange(date) {
    this.setState({
        from : date
    });
}

我认为我的问题是dateFormat;在将DD-MMM发布到某些后端服务之前,通过使用ECMAScript函数toISOString()进行调用,可以轻松地将DD-MMM转换为ISO-8601。但是我如何有时间去做呢?

用户(我自己,测试)可能会在datepicker本身上占用时间,但它不会在状态中注册。只需它选择当前时间或1周前的当前时间(根据从/到初始状态的时刻)。日期,我也可以改变,但时间保持不变(当前时间)。

如何更改dateFormat以便从用户输入时间?如何在dateFormat属性中默认使其符合ISO 8601标准?

编辑:我刚测试设置为“从”减去5分钟,如下:

this.state = {
            from: moment().subtract(5, "minutes"),
            to: moment(), // Current date
        };

当我发布它时,它会正确格式化。似乎很奇怪。它必须与onChange函数有关吗?

0 个答案:

没有答案