设置选择框选择哪个选项的 React 方法是在 <select>
本身上设置一个特殊的 value
道具,对应于您希望被选中的 <option>
元素上的 value
属性。对于 multiple
选择这个道具可以接受一个数组代替。
现在,因为这是一个特殊的属性,我想知道当用户改变东西时,在相同的选项值数组结构中选择的选项 取回的规范方法是什么(这样我就可以通过一个回调传递给父组件等) ,因为大概相同的 value
属性不会在 DOM 元素上可用。
举个例子,对于一个文本字段,您可以执行以下操作(JSX) :
var TextComponent = React.createClass({
handleChange: function(e) {
var newText = e.target.value;
this.props.someCallbackFromParent(newText);
},
render: function() {
return <input type="text" value={this.props.someText} onChange={this.handleChange} />;
}
});
对于这个多重选择组件来说,取代 ???
的等价物是什么?
var MultiSelectComponent = React.createClass({
handleChange: function(e) {
var newArrayOfSelectedOptionValues = ???;
this.props.someCallbackFromParent(newArrayOfSelectedOptionValues);
},
render: function() {
return (
<select multiple={true} value={this.props.arrayOfOptionValues} onChange={this.handleChange}>
<option value={1}>First option</option>
<option value={2}>Second option</option>
<option value={3}>Third option</option>
</select>
);
}
});