首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Formik将formik表单插入父formik表单

React Formik将formik表单插入父formik表单
EN

Stack Overflow用户
提问于 2020-08-13 12:38:14
回答 1查看 494关注 0票数 0

目前,我有不同formik形式的父组件和子组件Dialog,其简要结构如下

代码语言:javascript
复制
<Formik initialValues={...} onSubmit={...}>
  //some form fields here
  <Button type="submit" />
  <Button onClick={()=>{setDialogOpen(true)}}/>
  <Dialog Open={dialogOpen}>
</Formik>

<Dialog>
  <Formik initialValues={...} onSubmit={...}>
    //some form fields here
    <Button type="submit" />
  </Formik>
</Dialog>

由于某些原因,我不能将Dialog从父formik中删除,问题是当我单击孩子的提交按钮时,父母的formik表单也会被触发,我如何避免这种情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-13 16:15:45

我会认为提交按钮事件正在冒泡到顶部的formik。如果使用formik钩子useFormik,则可以拥有两个单独的表单,并在每个按钮上调用submit:

代码语言:javascript
复制
import { useFormik } from 'formik';
const [parentForm] = useFormik();
const [dialogForm] = useFormik();

<Formik initialValues={...} onSubmit={...} form={parentForm}>
  //some form fields here
  <Button onClick={() => parentForm.submit()} />
  <Button onClick={()=>{setDialogOpen(true)}}/>
  <Dialog Open={dialogOpen}>
</Formik>

<Dialog>
  <Formik initialValues={...} onSubmit={...} form={dialogForm}>
    //some form fields here
    <Button onClick={() => dialogForm.submit()} />
  </Formik>
</Dialog>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63388234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档