react如何获取option的下标和值_如何在ReactJS中获得下拉菜单的选定值

本文讨论了React中受控组件和非受控组件的概念,以及如何在表单控件中使用它们。受控组件通过state来控制用户输入,并在onChange事件中更新。非受控组件则允许不直接控制值,而是通过defaultValue设置初始值并监听onChange事件。示例代码展示了如何实现这两种方式。
摘要由CSDN通过智能技术生成

小编典典

render方法中的代码表示任何给定时间的组件。如果您执行以下操作,则用户将无法使用表单控件进行选择:

Orange

Radish

Cherry

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

受控组件 使用组件state可以反映用户的选择。这提供了最大的控制权,因为您所做的任何更改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 (

value={this.state.selectValue}

onChange={this.handleChange}

>

Orange

Radish

Cherry

{message}

);

}

});

React.render(, document.body);

JSFiddle:http :

//jsfiddle.net/xe5ypghv/

不受控制的组件 另一个选择是不控制值,而只是响应onChange事件。在这种情况下,您可以使用defaultValue道具设置初始值。

onChange={this.handleChange}

>

Orange

Radish

Cherry

{message}

更新

选项1的一种变体(使用受控组件)是使用Redux和React-

Redux创建一个容器组件。这涉及到connect一个mapStateToProps功能,它比听起来容易,但如果您刚入门,可能会过大。

2020-07-22

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取option下标有多种方法,以下是其一种使用JavaScript的方法: 在HTML,我们可以使用`select`和`option`标签创建下拉列表,如下所示: ``` <select id="mySelect"> <option value="apple">Apple</option> <option value="orange">Orange</option> <option value="banana">Banana</option> </select> ``` 我们可以使用JavaScript来获取option下标: ``` var selectElement = document.getElementById("mySelect"); var selectedOptionIndex = selectElement.selectedIndex; var selectedOptionValue = selectElement.options[selectedOptionIndex].value; ``` 其,`selectedIndex`属性可以获取option下标,`options`属性可以获取所有的option元素,我们可以使用`selectedIndex`来获取option元素,然后再获取其`value`属性来获取。 另外,我们也可以使用jQuery来获取option下标: ``` var selectedOptionIndex = $("#mySelect").prop('selectedIndex'); var selectedOptionValue = $("#mySelect").val(); ``` 其,`prop`方法可以获取`selectedIndex`属性,`val`方法可以获取option。 还有一种方法是在`select`标签上添加`onchange`事件,当option改变时触发该事件,然后在事件处理函数获取option下标: ``` <select id="mySelect" onchange="handleSelectChange()"> <option value="apple">Apple</option> <option value="orange">Orange</option> <option value="banana">Banana</option> </select> function handleSelectChange() { var selectElement = document.getElementById("mySelect"); var selectedOptionIndex = selectElement.selectedIndex; var selectedOptionValue = selectElement.options[selectedOptionIndex].value; } ``` 这种方法可以在option改变时及时获取下标
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值