我正在尝试学习如何实现 React 表单(ES6 语法)并将每个字段的 onChange 事件传递给负责更新状态的控制器父组件。这适用于标准的 html 元素,但是我正在尝试一个预装的 Datepicker ( https://www.npmjs.com/package/react-bootstrap-date-picker ) 用于日期字段并且不能轻易传递事件以相同的方式备份到父级。有没有简单的方法来解决这个问题?
控制器组件
class Parent extends React.Component {
constructor (props) {
super(props);
this.state = {job: ''}
}
setJobState(event) {
var field = event.target.name;
var value = event.target.value;
this.state.job[field] = value;
this.setState({job: this.state.job});
}
render () {
return <Child onChange={this.setJobState.bind(this)} />
}
}
子组件
class Child extends React.Component {
constructor (props) {
super(props);
}
render () {
<form>
<input type="text" name="jobNumber" onChange={this.props.onChange} />
<DatePicker name="dateCmmenced" onChange={this.props.onChange} />
</form>
}
}