获取React <select>元素值的正确方法是什么?

YPC*_*ble 1 javascript internet-explorer html-select internet-explorer-10 reactjs

假设我有以下React元素(这里示例小提琴):

var Hello = React.createClass({
    getInitialState: function() {
        return {parsed: false};
    },
    _parseEvent: function(event) {
        var parser1 = event.currentTarget.selectedOptions[0].value;
        var parser2 = event.target.value;
        var parser3 = event.nativeEvent.srcElement.value;
        if (parser1 && parser2 && parser3)
            this.setState({parsed: true});
    },
    render: function() {
        var parsing = "parsing worked";
        return (
        <div>
        <select            
            onChange={this._parseEvent}>
            <option value="----">----</option>
            <option value="Yes">Yes</option>
            <option value="No">No</option>
        </select>
        <p>
        { this.state.parsed ?
        {parsing}
        : null}
        </p>
        </div>
        );
    }
});

React.render(<Hello name="World" />, document.getElementById('container'));
Run Code Online (Sandbox Code Playgroud)

我正在使用三种方法来解析<select>元素的值.第一个不适用于IE 10,我知道这是我的问题.但是,在其他两种方式中,parser2或者parser3,这是<select>在React中获取元素值的正确方法?为什么?谢谢你的帮助!

Fel*_*ing 5

使用您在W3C兼容浏览器中使用的内容:

event.target.value
Run Code Online (Sandbox Code Playgroud)

这也与表单控件元素的类型无关.