将状态从模态形式传递到父形式的道具(Formik)

时间:2018-12-24 09:17:56

标签: javascript reactjs redux react-bootstrap formik

我有一个使用Formik的表格。在该表单中,我有一个模式(react-bootstrap),它显示有人单击父表单中的特定项目时的情况。模态包含另一种形式,它也正在使用Formik。

现在,很明显,当我在编辑模态后关闭模态时,数据会从模态中丢失。我的问题是:如何保留模态中的数据并将值传递给道具?以前,模态形式是父形式的一部分,所以这就是为什么我要具体询问Formik方法的原因。但是,如果没有Formik的人可以找到很好的解决方案,那么它对我也有帮助(但请记住,我的父表单仍将使用Formik)。

传递道具是我所知道的,但是我不知道如何以模态和父形式的模态来做,所以任何帮助都是有用的。

我的模态组件的一部分(我不知道代码的哪些部分是必需的,因此如果需要,我将粘贴更多内容)

<React.Fragment>
            <Modal
                {...this.props}
                bsSize="large"
                aria-labelledby="contained-modal-title-lg"
            >
            <Modal.Body>
            <fieldset
                disabled={
                    this.props.status > MyFormStatus.InProgress ||
                    (this.props.status === MyFormStatus.InProgress &&
                        this.props.projectStatus > ProjectStatus.Active)
                }
            >
                {isProjectType && (
                    <Form.Row>
                        <Col>
                            <Form.Group>
                                <Form.Label htmlFor="shortDescription">Short description</Form.Label>
                                <Form.Control
                                    as="textarea"
                                    rows={2}
                                    id={`${this.props.prefixName}shortDescription`}
                                    name={`${this.props.prefixName}shortDescription`}
                                    placeholder="Insert description"
                                    value={this.props.shortDescription}
                                    onChange={this.props.onChange}
                                    onBlur={this.props.onBlur}
                                    isInvalid={!!this.props.errors.shortDescription}
                                />
                                {this.props.errors.shortDescription && (
                                    <Form.Control.Feedback type="invalid" style={{ display: 'block' }}>
                                        {this.props.errors.shortDescription}
                                    </Form.Control.Feedback>
                                )}
                            </Form.Group>
                        </Col>
                    </Form.Row>
                )}
...

带有道具的零件(例如this.props.shortDescription)可以在没有模态的情况下工作,然后一切都很好。因此,我希望在关闭模态后,将值发布到道具,并再次打开模态时,输入将具有其值。

0 个答案:

没有答案