首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从表单提交的多个输入框中获取值,并将值作为对象存储在React的状态数组中?

在React中,可以通过以下步骤从表单提交的多个输入框中获取值,并将值作为对象存储在状态数组中:

  1. 首先,在React组件的构造函数中初始化状态数组,例如:
代码语言:txt
复制
constructor(props) {
  super(props);
  this.state = {
    inputs: []
  };
}
  1. 在表单中的每个输入框中添加一个name属性,用于标识不同的输入框。例如:
代码语言:txt
复制
<input type="text" name="input1" />
<input type="text" name="input2" />
  1. 在表单的提交事件处理函数中,通过event.target.elements获取表单中的所有元素,并遍历它们。使用name属性来识别输入框,并将输入框的值存储在一个临时对象中。例如:
代码语言:txt
复制
handleSubmit(event) {
  event.preventDefault();
  const elements = event.target.elements;
  const inputs = {};
  for (let i = 0; i < elements.length; i++) {
    const element = elements[i];
    if (element.name) {
      inputs[element.name] = element.value;
    }
  }
  this.setState(prevState => ({
    inputs: [...prevState.inputs, inputs]
  }));
}
  1. 最后,在表单的onSubmit事件中调用上述提交事件处理函数。例如:
代码语言:txt
复制
<form onSubmit={this.handleSubmit}>
  {/* 表单输入框 */}
  <button type="submit">提交</button>
</form>

这样,每次提交表单时,输入框的值将被存储在React组件的状态数组中。你可以通过访问this.state.inputs来获取存储的对象数组。

这是一个基本的实现方法,可以根据具体需求进行调整和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券