如何从 React 中的映射选择输入中获取选定的值

发布日期:2026-07-15 11:12:04   来源 : 杭州电子商务研究院    浏览量 :5
杭州电子商务研究院 发布日期:2026-07-15 11:12:04  
5

介绍

在处理 Web 项目时,构建选择输入元素非常简单。但随着 JavaScript 框架和库的出现,构建输入元素可能会有点棘手,因为您需要从数据的角度思考并提前规划应用程序中的所有输入元素。

在 React 中,所有输入元素都需要由状态控制,包括select元素。在本指南中,您将学习如何从 React 中的 select 输入中获取选定的值。

映射选择输入

首先创建一个对象数组,用于创建选择输入的选项。在本例中,创建一个选择输入,从水果列表中选择一个值。

      const options = [
  {
    label: "Apple",
    value: "apple",
  },
  {
    label: "Mango",
    value: "mango",
  },
  {
    label: "Banana",
    value: "banana",
  },
  {
    label: "Pineapple",
    value: "pineapple",
  },
];
    

您可能想知道,既然可以使用字符串来创建选项,为什么数组中还需要有对象。这是因为选项的值不一定必须与标签相同。

接下来,使用options数组,在App组件内创建一个具有不同选项的选择输入。将对象的value属性分配给options元素的value属性,以便正确映射选项,并可以检索 select 元素的值。

      import React from "react";

const options = [
  {
    label: "Apple",
    value: "apple",
  },
  {
    label: "Mango",
    value: "mango",
  },
  {
    label: "Banana",
    value: "banana",
  },
  {
    label: "Pineapple",
    value: "pineapple",
  },
];

class App extends React.Component {
  render() {
    return (
      <div id="App">
        <div className="select-container">
          <select>
            {options.map((option) => (
              <option value={option.value}>{option.label}</option>
            ))}
          </select>
        </div>
      </div>
    );
  }
}

export default App;
    

使用状态设置默认值

要在 React 中选择默认选项,需要在option元素中使用selected属性。但在 React 中,不是使用selected属性,而是在根select元素上使用value属性。因此,您可以通过在select输入元素的value属性中传递选项的值来设置默认值。这在受控组件中非常方便,因为您只需在一个地方更新值即可。

      class App extends React.Component {
  render() {
    return (
      <div id="App">
        <div className="select-container">
          <select value="banana">
            {options.map((option) => (
              <option value={option.value}>{option.label}</option>
            ))}
          </select>
        </div>
      </div>
    );
  }
}
    

获取选定的值

要从select元素中获取选定的值,可以使用onChange事件处理程序属性。就像inputtextarea元素一样,您可以使用onChange事件处理程序从事件对象中获取值

现在,让这个选择输入元素通过使用状态传递值来控制。在组件的状态中设置初始值,并在handleChange方法中将选定的值设置为状态中的新值。

      class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      fruit: "banana",
    };

    this.handleChange = this.handleChange.bind(this);
  }

  handleChange(e) {
    console.log("Fruit Selected!!");
    this.setState({ fruit: e.target.value });
  }

  render() {
    return (
      <div id="App">
        <div className="select-container">
          <select value={this.state.fruit} onChange={this.handleChange}>
            {options.map((option) => (
              <option value={option.value}>{option.label}</option>
            ))}
          </select>
        </div>
      </div>
    );
  }
}

export default App;
    

结论

在本指南中,您了解了 select 输入元素的一些日常用例,例如如何开始、如何获取选定的值以及如何控制select元素。您可以使用react-select等第三方库来尽量减少所有样板代码。

这就是本指南的全部内容。继续学习!

了解更多

查看 Pluralsight 的这些 React 课程以继续学习:

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据