我正在尝试:
我的方法:
import React, { Component } from 'react';
import '../App.css';
class DateSelector extends Component {
constructor(props){
super(props);
this.state = {
startDate:"yyyy-MM-dd",
endDate:"yyyy-MM-dd"
}
}
dateHandler = (event) => {
console.log("startDate: "+this.state.startDate+" endDate:"+this.state.startDate);
}
startDateOnChange = (event) => {
this.setState({startDate: event.target.value});
}
endDateOnChange = (event) => {
this.setState({endDate: event.target.value});
}
render() {
return (
<div>
START DATE<input type="date" id="startDate" value="{this.state.startDate}" onChange={this.startDateOnChange}/>
END DATE<input type="date" id="endDate" value="{this.state.startDate}" onChange={this.endDateOnChange}/>
<button type="submit" onClick={this.dateHandler}>Submit</button>
</div>
);
}
}
export default DateSelector;
以上代码在Date标记的onChange
事件中出现以下错误:
指定值“{this.state.startDate}”不符合 所需格式,“yyyy-MM-dd”。
<button>
代码onClick
将空字符串设为startDate: endDate:
注意:我对网页设计很新。我做了相当的谷歌搜索,但没有找到任何相关的教程/文档/帖子。 任何有关这类情况的指南/参考(供将来参考)都非常感谢。
答案 0 :(得分:0)
通过在每个组件上定义value
和onChange
属性来控制日期输入组件。该值应来自组件状态。在onChange事件中,使用新值设置状态。
添加按钮组件,在onClick事件处理程序方法中,使用this.state.startDate
和this.state.endDate
检查每个输入的值。如果需要,您可以使用setState相应地调整它们的值。