2017-10-10 23 views
0

我试图更新div标记中的文本,只要startDate和endDate获取新值但div显示旧值。我怎么可以更新状态改变为div文本React如何更改状态变化的div文本

import moment from 'moment'; 
import DatetimeRangePicker from 'react-bootstrap-datetimerangepicker'; 
class TestPage extends Component { 
constructor(props) { 
super(props); 
this.state = { 
startDate: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm'), 
endDate: moment().format('YYYY-MM-DD HH:mm'), 
}; 
} 

handleChange(event, payload) { 
this.setState({ 
startDate: payload.startDate.format('YYYY-MM-DD HH:mm'), 
endDate: payload.endDate.format('YYYY-MM-DD HH:mm') 
}); 
this.onChange(); 
this.props.sendDateRanges(payload); 
} 

onChange() { 
return `${this.state.startDate} - ${this.state.endDate}`; 
}); 
} 
render() { 
return (<div> 
<DatetimeRangePicker 
timePicker 
showDropdowns 
onShow={this.handleChange.bind(this)} 
onApply={this.handleChange.bind(this)} 
> 
</DatetimeRangePicker> 
<div>{onChange()}</div> </div>); 
} 
export default connect(mapStateToProps, actions)(TestPage); 

回答

0

删除您onChange功能,做到这一点,而不是...

render() { 
const dateDiff = `${this.state.startDate} - ${this.state.endDate}`; 
return (<div> 
<DatetimeRangePicker 
timePicker 
showDropdowns 
onShow={this.handleChange.bind(this)} 
onApply={this.handleChange.bind(this)} 
> 
</DatetimeRangePicker> 
<div>{dateDiff}</div> </div>); 
+0

它的工作谢谢 – NSh

相关问题