2017-05-18 138 views
1

我使用react-datetime开箱即用。如何使用react-datetime获取选定的日期?

现在,我想让选定的日期保存到我的date状态。上述

import DateTime from 'react-datetime'; 
import '../DateTime.css'; 

class SomeClass extends React.Component { 
    render(){ 
    return (
     <div> 
     <DateTime onChange={this.props.handleDate}/> 
     ... 

该项目工程 - 它显示一个简单的框,显示日历,当有人点击它。

这里是handleDate方法:

... 
    handleDate(e){ 
    this.setState({date: e.target.value},() => console.log(this.state.date)) 
    }; 

它适用于我的正常OL”的反应,引导组件:<FormControl type="date" onChange={this.props.handleDate} />但是当我使用DateTime,它说,它的价值是不确定的。 “Schedule.js:135 Uncaught TypeError: Cannot read property 'value' of undefined

我正在查看npm site中的API,但没有看到任何显示如何获取数据的示例。我可能会对它进行超读。

如何使用DateTime获取所选日期的值? e.target.value似乎不适用于这种情况。

回答

2

来自文档: 日期改变时的回调触发器。如果输入中的日期有效,回调会将所选时刻对象作为唯一参数接收。如果输入中的日期无效,则回调将接收输入的值(一个字符串)。

利用这些信息,处理程序应该像这样:

handleDate(date){ 
    this.setState({date}); # ES6 
}; 
+0

疑难杂症!感谢您指出。上面的代码给了我一个'时刻'的对象,但是我做了一些改变,但它不起作用! 'this.setState({date:date._d})'起作用。我需要的日期是在'_d'键内。但你的回答引导我到那里,所以谢谢! – Iggy

+0

你好,我怎样才能得到选定的日期时间戳? – hkg328

+0

哦,我通过调用date._d.valueOf()来获得时间戳。 谢谢。 – hkg328

相关问题