javascript - 如何从 DatePicker 获取日期(值)并将其分配给对象的属性?
问题描述
我正在使用react-datepicker
图书馆。如何从DatePicker
组件中提取值并将其分配给对象date
中的属性Pick
。从输入中下载数据很简单。如何用数据选择器做到这一点?
class Form extends Component {
constructor(){
super();
this.state = {
startDate: new Date()
}
}
create(event) {
event.preventDefault();
const pick = {
date: this.date.value, /
color: this.color.value,
description: this.description.value
}
this.form.reset();
}
handleChange = (date) => {
this.setState({
startDate: date
});
}
render() {
return (
<form ref={(input) => this.form= input} onSubmit={(e) =>
this.create(e)}>
<div>
{/*<input ref={(input) => this.date = input} type="text"
/>*/}
<DatePicker
dateFormat="yyyy/MM/dd"
selected={this.state.startDate}
onChange={this.handleChange}
/>
<input ref={(input) => this.time = input} type="text" />
</div>
<textarea ref={(input) => this.description = input}
placeholder="" ></textarea>
<div >
<button >Cancel</button>
<button type="submit">Save</button>
</div>
</form>
)
}
}
解决方案
假设您的其余代码按预期运行,提交表单时它将处于您的状态,因此从那里获取它:
const pick = {
date: this.state.startDate,
color: this.color.value,
description: this.description.value
}
推荐阅读
- javascript - 使用 cookie 的 Javascript 倒数计时器
- mysql - MySQL 存储过程基础知识
- javascript - VueJS - Vuex 状态更新时组件不更新
- c# - 使用 ML.NET 进行动态训练/测试类
- reactjs - 将状态传递到值的组件重新渲染
- arrays - 取消选中复选框值后未在 mvc 应用程序中插入
- sql-server - 从 SQL Server 数据库中取出二进制数据列到不同的存储
- amazon-web-services - Spark 不在 S3 上输出 .crc 文件
- c++ - 在 C++ 中检查条件
- drupal-8 - Drupal 8:以编程方式更新节点不会更新视图中节点的状态