设置选择框选择哪个选项的React方法是value
在其<select>
自身上设置一个特殊的prop ,与要选择value
的<option>
元素上的属性相对应。对于一个multiple
选择,该道具可以接受数组。(编辑:当前文档似乎已删除对此的引用)
现在,因为这是一个特殊的属性,所以我想知道当用户更改内容时,在相同的option-values-values结构中检索选定选项的规范方法是什么(因此我可以将其通过回调传递给父组件等),因为推测相同的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>
);
}
});
实际上,您可以
selectedOptions
在目标内部找到对象...无需遍历所有选项。假设您想将值发送给onChange
作为道具传递给组件的函数:您可以在onChange
多选对象的上使用以下函数。