如何从Material Ui中获取日期选取器的值
How to get value of Date Picker from Material Ui
如果我用Material Ui创建了一个日期选择器,我如何获得用户的输入值?
假设用户选择2016年1月1日->我如何获取该值并将其存储为数据类型为日期的变量?
到目前为止,我尝试使用状态来传递一个JSON对象,但这似乎不起作用。例如:
getInitialState: function() {
return {
startDate: null,
endDate:null
};
},
render: function() {
return (
<div>
<DatePicker hintText="Start Date" value={this.state.startDate} onChange={this._handleStartInput} />
<DatePicker hintText="End Date" value={this.state.endDate} onChange={this._handleEndInput} />
</div>
);},
_handleStartInput: function(value) {
this.setState({
startDate: value
});
},
_handleEndInput: function(value) {
this.setState({
endDate: value
});
},
然后我可以创建另一个函数来提取值,但现在在我选择日期后,状态永远不会改变,并显示在UI中。
我试过了,并绘制了控制台值
<DatePicker container="inline" floatingLabelText="Fecha desde" onChange={(x, event) => this.setFechaDesde(x,event)} defaultDate={new Date()} />
和
setFechaDesde(x,event){
console.log(JSON.stringify(event));
console.log(JSON.stringify(x));
}
您使用的是哪个版本的Material UI?
通过阅读文档,您可以看到
onChange日期值更改时触发的回调函数。由于没有与更改相关联的特定事件,第一个参数将始终为null,第二个参数将为新的Date实例。
您应该尝试在回调中添加第二个参数。
onChange处理程序函数应该采用两个参数:event和date,其中event始终为null,date是新的日期对象。
_handleStartInput: function(event, date) {
var currentState = this.state;
currentState.startDate = date;
this.setState(currentState);
},
_handleEndInput: function(event, date) {
var currentState = this.state;
currentState.endDate = date;
this.setState(currentState);
}
相关文章:
- 清除启动日期选取器值
- 启动日期选取器更改位置
- 带有日期选取器的事件
- Jquery 日期时间选取器错误
- 引导 3 日期选取器使用内联日历捕获日期
- 引导日期选取器不适用于文本框 asp.net
- 日期时间选取器日期格式
- 正在禁用jQuery UI日期选取器日期
- 如何在引导日期范围选取器日期更改时更新绑定
- Jquery UI 日期选取器日期格式
- 使用 jQuery 创建两个日期选取器日期范围实例
- 日期选取器日期范围:最大日期的最小日期 = 开始日期 + 1 天
- 通过从另一个日期选取器中选取日期来禁用 JQuery 日期选取器日期
- 将日期选取器日期拆分为单独的输入
- 复制时 JQuery 日期选取器日期格式问题
- 将日期选取器日期格式添加到动态生成的文本框,其中日期格式设置为属性
- jQuery:抓取日期&来自网页的时间数据
- 设置在上一个日期选取器中选取的日期的最小日期
- 是否有可能从silverlight应用程序(如freestockcharts)中抓取日期?
- jquery ui - JavaScript钻取日期picker