如何在其 onSubmit 中隐藏具有 preventDefault() 的 "react-bootstrap modal" 表单?

How to hide "react-bootstrap modal" form that has preventDefault() inside its onSubmit?

问题是当我不使用 preventDefault() 时,页面会在提交时重新加载并隐藏。当使用 preventDefault 时,我的表单正在执行它在 onSubmit 中的操作,但它在提交后没有隐藏。当我使用其他只有

的 "Close" 按钮时
onClick={this.props.onRequestHide}   

表单隐藏得很好。

如何在完成 onSubmit 后隐藏该表单。

  <Modal {...this.props} className="adressModal" bsStyle="primary" title='Adress Form' animation={false}>
    <form className="addressModal" onSubmit={this.handleSubmit} >
      <div className="modal-body">
        <Input type="text" placeholder="Enter Kraj" className="form-control" valueLink={this.linkState('address')} ref="address" hasFeedback required/>
      </div>
      <div className="modal-footer">
      <ButtonGroup>
        <Button className="btn btn-default" onClick={this.props.onRequestHide} data-dismiss="modal" active>Close</Button>
        <Button bsStyle="primary" className="btn btn-default" type="submit" disabled={this.state.isSubmitting} >Save</Button>
  </ButtonGroup>
  </div>
    </form>
</Modal>

代码只是来自 ModalTrigger 示例的混合 http://react-bootstrap.github.io/components.html#modals 和 React 基础教程
http://facebook.github.io/react/docs/tutorial.html.

您可以在 handleSubmit 函数中调用 this.props.onRequestHide 函数

像这样:

handleSubmit: function() {
  /* ... */
  this.props.onRequestHide();
  e.preventDefault();
},