【发布时间】:2015-04-21 21:11:39
【问题描述】:
设置选择框选择哪个选项的 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>
);
}
});
【问题讨论】:
标签: javascript dom reactjs