我正在使用react,我想获得react中下拉列表中所选选项的值,但我不知道如何获取.有什么建议吗?谢谢

<select id = "dropdown">
    <option value="N/A">N/A</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>

推荐答案

render方法中的代码表示任何给定时间的组件.

<select value="Radish">
  <option value="Orange">Orange</option>
  <option value="Radish">Radish</option>
  <option value="Cherry">Cherry</option>
</select>

因此,使用表单控件有两种解决方案:

  1. Controlled Components使用组件state反映用户的 Select .这提供了最多的控制,因为对state所做的任何更改都将反映在组件的渲染中:

例子:

var FruitSelector = React.createClass({
    getInitialState:function(){
      return {selectValue:'Radish'};
  },
    handleChange:function(e){
    this.setState({selectValue:e.target.value});
  },
  render: function() {
    var message='You selected '+this.state.selectValue;
    return (
      <div>
      <select 
        value={this.state.selectValue} 
        onChange={this.handleChange} 
      >
       <option value="Orange">Orange</option>
        <option value="Radish">Radish</option>
        <option value="Cherry">Cherry</option>
      </select>
      <p>{message}</p>
      </div>        
    );
  }
});

React.render(<FruitSelector name="World" />, document.body);

JSFiddle:http://jsfiddle.net/xe5ypghv/

  1. Uncontrolled Components另一个选项是不控制值,只响应onChange个事件.在这种情况下,可以使用defaultValueprops 设置初始值.

    <div>
     <select defaultValue={this.state.selectValue} 
     onChange={this.handleChange} 
     >
        <option value="Orange">Orange</option>
        <option value="Radish">Radish</option>
        <option value="Cherry">Cherry</option>
      </select>
      <p>{message}</p>
      </div>       
    

http://jsfiddle.net/kb3gN/10396/

这方面的文档很棒:http://facebook.github.io/react/docs/forms.html

使现代化

使用(1)选项创建(Redux)是受控组件.这涉及connectmapStateToProps函数,这比听起来容易,但如果你刚开始的话,可能会有点过头.

Reactjs相关问答推荐

如何将google地址lat收件箱设置为输入值?

获取点击的国家/地区名称react 映射

有没有一种惯用的方式来接受特定的子元素?

如何在REACTIVE js中动态添加或删除输入字段?

错误:操作必须是普通对象.使用自定义中间件进行异步操作. Redux/工具包

更新对象状态的父数组时记住子组件

Yup.number().integer() 不将 1.0 视为小数,如何解决这个问题?

为什么 useEffect 的初始化对于加载 localStorage 不起作用?

在遵循 react-navigation 的官方文档时收到警告消息

Suspense/Await - 解析数据加载/保存到状态后无限循环

在 React JS 中编辑表格数据

Next.js i18n 路由不适用于动态路由

如何通过单击多个选项中的特定项目在模态上呈现不同的标题?

当从数组中删除数据时,UseEffect 不会重新渲染,仅在添加数据时才会重新渲染

使用 React 中的功能组件更改另一个组件的状态

react 路由路由加载器不适用于嵌套组件

交换键仍然引入了 fresh 的 DOM 元素

下拉菜单在 AppBar 中未正确对齐

Select MenuItem 时 Material-ui 不更改样式

在渲染不显示子元素之后,再次渲染时,子元素状态数据完全消失了.为什么会这样以及如何防止它发生?