react 获取表单中输入框的值

文章介绍了如何在React中使用useStateHook处理多个Input框和Select框的值变化,包括获取和更新状态。通过`handleInputChange`和`handleNameChange`,`handleNationChange`函数实现值的动态管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过使用useState钩子来创建一个状态变量,你可以同时获取多个Input框的值。

1获取input框的值:

import React, { useState } from 'react';

function MyComponent() {
  const [forms, setForms] = useState({
    name: '',
    nation: '',
  });

  const handleInputChange = (e) => {
    const { name, value } = e.target;

    setForms((prevForms) => ({
      ...prevForms,
      [name]: value,
    }));
  };

  const handleSubmit = (e) => {
    e.preventDefault();

    console.log('姓名:', forms.name);
    console.log('国家:', forms.nation);

    // 执行其他逻辑
  };

  return (
    <div>
      <form onSubmit={handleSubmit}>
        <input
          type="text"
          name="name"
          value={forms.name}
          onChange={handleInputChange}
        />
        <input
          type="text"
          name="nation"
          value={forms.nation}
          onChange={handleInputChange}
        />
        {/* 添加其他Input框 */}
        <button type="submit">提交</button>
      </form>
    </div>
  );
}

export default MyComponent;

2获取select框的值

import { useState } from 'react';
import { Select } from 'antd';

const { Option } = Select;

const YourComponent = () => {
  const [forms, setForms] = useState({
    name: "",
    nation: ""
  });

  const handleNameChange = (value) => {
    setForms(prevState => ({
      ...prevState,
      name: value
    }));
  };

  const handleNationChange = (value) => {
    setForms(prevState => ({
      ...prevState,
      nation: value
    }));
  };

  return (
    <>
      <Select value={forms.name} onChange={handleNameChange}>
        <Option value="John">John</Option>
        <Option value="Jane">Jane</Option>
        <Option value="Bob">Bob</Option>
      </Select>

      <Select value={forms.nation} onChange={handleNationChange}>
        <Option value="USA">USA</Option>
        <Option value="Canada">Canada</Option>
        <Option value="UK">UK</Option>
      </Select>
    </>
  );
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值