所以我试图select
在 reactjs 中获取元素的值,但就是想不通。this.refs.selectElement.getDOMNode().value
总是来的undefined
。表单上的所有其他控件text
都可以正常工作。有任何想法吗?是不是不能通过事件获取select
元素的值refs
而必须使用onChange
事件?
更新:
var TestSelectClass = React.createClass({
mixins: [Router.Navigation],
_handleDube: function(event) {
DubeActionCreators.DubeTest({
message: this.refs.message.getDOMNode().value,
tax: this.refs.tax.getDOMNode().value,
validity: this.refs.valid_for.getDOMNode().value
});
},
render: function() {
return (
<ReactBootstrap.ListGroup>
<textarea
className="form-control"
rows="3"
placeholder="Enter message"
ref="message" >
</textarea>
<div className="input-group">
<span className="input-group-addon" id="basic-addon1">$</span>
<input type="text" className="form-control" placeholder="10" aria-describedby="basic-addon1" ref="tax" />
</div>
<Input type="select" value="1" ref="valid_for">
<option value="1">1 hour</option>
<option value="2">1 day</option>
<option value="2">5 days</option>
</Input>
</ReactBootstrap.ListGroup>
)
}
});
更新:解决方案
因此,如果有人遇到类似的情况,显然如果您使用 react-bootstrap,Input
如果您将其包装在ListGroup
. 要么将其取出,要么将所有Input
元素包装在<form>
标签中。这解决了我的问题,感谢所有帮助。