我很新的反应,所以这可能是一件非常容易的事情。我目前正在使用Modal组件(来自ReactBootstrap),我正在使用Modal对话框组件内的react-bootstrap Input组件,并使用type=email
。这在元素<form>
中被提交并且表单被提交时将触发验证,并且如果验证失败,则会在输入组件顶部显示popoup类型的消息。但是,我没有在<form>
元素中使用此组件,并且希望在单击按钮时触发此组件。这是代码工作的一块,我有一个表示该问题:以编程方式触发React-Bootstrap输入组件验证
/** @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')
);