【发布时间】:2019-09-02 09:16:54
【问题描述】:
我将 React-Bootstrap 可滚动 Modal 包装在 Formik Form 中,以便让 Modal.Footer 中的按钮提交表单。但是,当我将 Modal.Body 和 Modal.Footer 包装在 Form 元素中时,它会阻止内容可滚动。知道如何将模态包装在表单中并保留样式吗?代码如下:
<Modal show={this.props.displayModal} onHide={this.reset} dialogAs="div">
<Formik initialValues={{}} validationSchema={validationSchema} onSubmit={this.handleSubmit}>
<Form>
<Modal.Header closeButton>
<Modal.Title>Add Item/Modal.Title>
</Modal.Header>
<Modal.Body>CONTAINS FORM INPUTS</Modal.Body>
<Modal.Footer>
<Button type="submit" variant="primary">
Save
</Button>
</Modal.Footer>
</Form>
</Formik>
</Modal>
我确实尝试将Modal 放在Form 中,但这会导致Modal 在HTML 中的表单元素之外呈现。例如:
<Formik initialValues={this.initialValues} validationSchema={this.validationSchema} onSubmit={this.handleSubmit}>
<Form>
<Modal show={this.props.displayModal} onHide={this.reset} dialogAs="div">
...
</Modal>
</Form>
</Formik>
【问题讨论】:
-
你好,你的目标是提交后关闭模态框吗?我正在努力寻找一种在单击“保存”后不关闭模式的方法,因为我还有其他内容要显示。知道怎么做吗?
-
恐怕我不记得确切的行为了。 AFAIK,您应该能够覆盖表单提交行为,因此表单不会关闭。
标签: reactjs react-bootstrap formik