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



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

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();
},

最新更新