选择OnChange事件返回上一个值

时间:2019-02-04 18:49:02

标签: html reactjs

我在选择更改目标值时遇到问题。它返回以前选择的选项。也许有人可以告诉我错误在哪里?

datetime             #0    #1    #2
2015-07-06 00:00:00  12    55    129
2015-07-06 00:30:00  5     3017  150
2015-07-06 01:00:00  347   8     19
...                  ...   ...   ...

我的目标是获得选定的价值。

1 个答案:

答案 0 :(得分:2)

由于this.setState是异步操作,因此this.setState立即返回。

因此,this.setState之后,this.props.handleType在使用this.state.value之前被更新为event.target.value

要使用新的状态值,您需要在this.setState的{​​{3}}中对其进行处理。

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);
};