【发布时间】:2014-12-03 19:24:08
【问题描述】:
我对反应很陌生,所以这可能是一件很容易的事情。我目前正在开发一个模态组件(来自 ReactBootstrap),并且我在模态对话框组件中使用 react-bootstrap 输入组件,type=email。这样,当在 <form> 元素内并提交表单时,将触发验证,如果验证失败,则会在输入组件顶部显示弹出类型消息。但是,我没有在 <form> 元素中使用此组件,并且希望在单击按钮时触发此组件。这是我拥有的代表问题的一段工作代码:
/** @jsx React.DOM */
var Modal = ReactBootstrap.Modal;
var ModalTrigger = ReactBootstrap.ModalTrigger;
var Button = ReactBootstrap.Button;
var Input = ReactBootstrap.Input;
var TheModal = React.createClass({
handleSubmit: function() {
// I want to trigger the email input validation here
// via this.refs.theInput
},
render: function() {
return (
<Modal {...this.props} title="Modal Title" animation={true} closeButton={false}>
<div className="modal-body">
<Input ref="theInput" type="email" label="Email Address" defaultValue="Enter email" />
</div>
<div className="modal-footer">
<Button bsStyle="primary" onClick={this.handleSubmit}>Send</Button>
<Button bsStyle="danger" onClick={this.props.onRequestHide}>Close</Button>
</div>
</Modal>
);
}
});
var App = React.createClass({
render: function() {
return (
<div>
<ModalTrigger modal={<TheModal />}>
<Button bsStyle="primary" bsSize="large">Trigger Modal</Button>
</ModalTrigger>
</div>
);
}
});
React.render( <App />,
document.getElementById('content')
);
【问题讨论】:
标签: twitter-bootstrap reactjs react-jsx react-bootstrap