Ser*_*eyB 8 datepicker reactjs react-redux
我是新的反应.我需要使用react-datepicker
我希望在更改日期时获得输入值.如果我点击2017年10月20日,我想把2017年10月20日放在我的变量中.但是我应该使用组件而不是输入的主要问题.
在我从国家获得价值之前.喜欢this.state.value.但是现在它是状态中的对象(时刻).而且这个对象没有值字段.
有我的代码:
export default class DatePicker extends Component {
constructor (props) {
super(props);
// this.props.date should looks like "29 November 2017 00:00"
// second argument for moment() it is format of date, because RFC 2822 date time format
this.state = {
date: moment(this.props.value, 'LLL')
};
}
handleChange = (date) => {
// const valueOfInput = this.state.date <--- I want string with date here
console.log('this.state.date',this.state.date);
this.setState({date: date});
};
render() {
return <Form.Field>
<Label>
<Picker
selected={this.state.date}
onChange={this.handleChange}
dateFormat="LLL"
locale={this.props.language}
/>
</Label>
</Form.Field>
Run Code Online (Sandbox Code Playgroud)
小智 9
只要用这个:
handleChange = date => {
const valueOfInput = date.format();
///...
};
Run Code Online (Sandbox Code Playgroud)
因为这会datepicker返回一个moment.js对象!
小智 5
尝试这个
<DatePicker
onChange={(value, e) => this.handleChange(value, e)}
selected={this.state.inputValue} otherProps={here}
/>
// you can access the value field in handleChange by e.target.value
handleChange(value, e) {
console.log(value); // this will be a moment date object
console.log(e.target.value); // this will be a string value in datepicker input field
}
Run Code Online (Sandbox Code Playgroud)