在问题标题中,我无法在选择框的onChange事件上将复选框标记为已选中,
<select id='featuresType'
onChange={this.handleChange.bind(this, 'type')} >
{this.getOptions(featuresType)}
</select>
就像handleChange一样:
handleChange: function (field, e) {
if (field == 'type') {
let selected = e.target.value;
this.setState({typeSelected: selected})
}
/*Why the console is taking the previous selecte option, ex: if Locker is selectec below lone prints 'dc' */
console.log(field ,',', this.state.typeSelected)
},
当它绑定到defaultValue时,
defaultChecked={(this.state.typeSelected =='locker')}
checked={(this.state.typeSelected =='locker')}
希望你们有我的问题
以下是JSFiddle
我希望复选框可以双向操作,在选择选项时,应选中复选框。此外,用户还可以选中/取消选中Manully复选框
答案 0 :(得分:1)
setState()不会立即改变this.state但会创建一个 待定状态转换。调用后访问this.state 方法可以返回现有值。
无法保证对setState的调用同步操作 并且可以批量调用以获得性能提升。