以下函数是反应选择下拉列表的onChange事件。 this.state.value(以粗体突出显示)仅在下拉列表更改时第一次未定义。有人可以提供相同的输入。但是,状态设置在以下其他条件下。
handleSelectChange(val,event) {
var label;
if(val.map==undefined) {
label = val["label"];
this.setState({value:val}) ;
}
else{
label = val["label"];
this.setState({value:val}) ;
}
this.setState({dropDownSelected:true},function(){
this.props.dropDownSelected(**this.state.value**);
})
}
答案 0 :(得分:5)
这听起来很痛苦,但您需要知道setState
以异步方式工作。这意味着在调用setState后,this.state
变量不会立即更改。因此,如果要在状态变量上设置状态后立即执行操作,然后返回结果。回调将很有用。
使用回调函数
查找示例setState
this.setState({value:val}, function() {
// Do something here
});
干杯..!