javascript - 如何在 React 中分隔输入字段值?

标签 javascript reactjs input state

我有一个根据数组中的项目数生成的输入列表:

const itemInputs = items.map(
  item => <Input key={item} value={itemInput} onChange={event => this.updateItem(event)} />,
);

这是我的 updateItem 函数的样子:

  updateItem(event) {
    this.setState({
      itemInput: event.target.value,
    });
  }

因此,如果我的数组中有两项,则会生成两个输入字段,如下所示: enter image description here

但是当我为第一个输入字段输入一个值时,相同的值会出现在第二个输入字段中,如下所示:

enter image description here

如何防止这种情况发生?我希望每个输入字段保留自己的值。

最佳答案

这是一种方法

const items = ['firstName', 'lastName'];

const itemInputs = items.map(
  name => <Input key={name} name={name} value={this.state[name]} onChange={event => this.updateItem(name, event)} />,
);

updateItem = (name, event) => {
  this.setState({ [name]: event.target.value });
}

关于javascript - 如何在 React 中分隔输入字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121389/

相关文章:

css - 将 React 内联样式转换为 CSS 规则

javascript - 如何使用 @testing-library/react-native 在 react-native 中测试 TextInput?

javascript - 禁用由 React 应用程序呈现的网页选定部分的副本

javascript - 如何通过Sequelize连接多个数据库?

javascript - 未捕获的类型错误 : Cannot read property foo of undefined

javascript - 实时计算两个 HTML 日期输入字段之间的日期

javascript - 当用户在输入类型数字上输入小数时事件返回空值

c - 尝试从读取的文件中 fprintf 某个字符串

c++ - 从文件中读取混合类型行

javascript - 在 Node.JS 中将多个音频文件合并/合并为一个