Html Select OnChange事件返回上一个值
我在选择更改目标值时遇到问题。它返回以前选择的选项。也许有人能告诉我哪里出了错Html Select OnChange事件返回上一个值,html,reactjs,Html,Reactjs,我在选择更改目标值时遇到问题。它返回以前选择的选项。也许有人能告诉我哪里出了错 change = (event) => { this.setState({value: event.target.value}); this.props.handleType(this.state.value); console.log(this.state.value); }; <Select onChange={this.change} value={this.state.
change = (event) => {
this.setState({value: event.target.value});
this.props.handleType(this.state.value);
console.log(this.state.value);
};
<Select onChange={this.change} value={this.state.value}>
<option value="" hidden>Type</option>
<option value="1">Audi</option>
<option value="2">BMW</option>
<option value="3">Citroen</option>
<option value="4">Ford</option>
</Select>
change=(事件)=>{
this.setState({value:event.target.value});
this.props.handleType(this.state.value);
console.log(this.state.value);
};
类型
奥迪
宝马
雪铁龙
河流浅水处
我的目标是获取所选值。因为
this.setState
是一个异步操作,this.setState
立即返回
因此,在this.setState
之后,this.props.handleType
在更新为event.target.value
之前使用了this.state.value
change = (event) => {
const { value } = event.target;
this.setState({ value });
this.props.handleType(value);
console.log(value);
};
要使用新的状态值,您需要在this.setState的中处理它
change = (event) => {
this.setState({value: event.target.value}, () => {
this.props.handleType(this.state.value);
console.log(this.state.value);
});
};
或者,您可以简单地使用event.target.value
change = (event) => {
const { value } = event.target;
this.setState({ value });
this.props.handleType(value);
console.log(value);
};
由于
this.setState
是一个异步操作,this.setState
立即返回
因此,在this.setState
之后,this.props.handleType
在更新为event.target.value
之前使用了this.state.value
change = (event) => {
const { value } = event.target;
this.setState({ value });
this.props.handleType(value);
console.log(value);
};
要使用新的状态值,您需要在this.setState的中处理它
change = (event) => {
this.setState({value: event.target.value}, () => {
this.props.handleType(this.state.value);
console.log(this.state.value);
});
};
或者,您可以简单地使用event.target.value
change = (event) => {
const { value } = event.target;
this.setState({ value });
this.props.handleType(value);
console.log(value);
};
不客气。这是一个常见的错误,所以希望其他人能从你的问题中受益,不客气。这是一个常见的错误,希望其他人能从你的问题中受益