将push event.target.value反应到数组

时间:2019-01-12 20:32:31

标签: reactjs jsx

我是新来的反应者,现在在尝试将输入框的值推入数组时遇到了问题。如果您能帮助我,我将不胜感激。

通常来说,我想将多个输入框的输入值保存到数组中。所有输入框都调用相同的onChange函数(由于输入框是由地图生成的,因此必须使用相同的onChange函数)。

这是我的密码。

highest_value = max(values)
lowest_value = min(values)

例如,如果两个输入框的输入为“是”,“否”,则SCAnswerGroup的期望值为[“是”,“否”]。但是,我得到的是[“ YYeYesN”]。我认为每个字母更改都会保存到数组中,但最后一个字母会保存。您能帮我得到预期的结果吗?

非常感谢您!

1 个答案:

答案 0 :(得分:1)

您可以将另一个参数索引传递给handleChange函数,然后在函数中更改数组中的索引

handleChange(event, i){
  this.setState({SCAnswer: event.target.value});
  const SCAnswerGroup = this.state.SCAnswerGroup;
  SCAnswerGroup[i] = event.target.value;
  this.setState({SCAnswerGroup});
}
// in the render method
<input onChange={(event) => this.handleChange(event, i)} />