问题标签 [formik]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3714 浏览

reactjs - 如何在 Enzyme React 测试中访问嵌套组件

在这里,我将 Banking 作为父组件,将 bankingForm 作为具有所有字段的子组件。我在 Baking 父组件中使用 formik 渲染道具。此测试失败,因为当它被浅渲染时,我无法在组件内部获取“BankingForm”组件。我做错了什么酶的观点吗?

0 投票
3 回答
27379 浏览

javascript - React Formik Field onChange 事件句柄

我正在尝试为 React Formik 中的 Field 组件处理 onChange,但它不起作用。我还尝试通过以下方式在 Formik 组件之外处理它:

但我收到警告:

组件正在更改要控制的文本类型的不受控输入。输入元素不应从不受控切换到受控(反之亦然)。

现在我的代码如下所示:

任何提示/想法?

0 投票
1 回答
1089 浏览

javascript - 如何创建具有 3 个输入但映射到 1 个 yup 值的 Formik 和 yup 表单组件?

我基本上如何通过 yup 验证在 formik 中创建这个https://design-system.service.gov.uk/patterns/dates/ 。

在此处输入图像描述

所以这 3 个字段daymonthyear会创建合并到一个{date: [moment]}由 yup 验证?

0 投票
1 回答
546 浏览

reactjs - 将数据从多个选项卡 usinf formik 提交到 redux

我有一个带有两个选项卡的引导选项卡。两个选项卡都包含表单。我在页面顶部有一个保存按钮。

我想在单击保存按钮时使用 axios 和 redux-thunk 将两个表单提交到后端。

关于提高性能的最佳实践的任何建议?

0 投票
2 回答
2440 浏览

javascript - 在 Formik 中设置默认值字段数组

我正在使用Formik来构建我的表单。

我的表单有三个文本区域和 1 个选择下拉菜单

对于选择下拉菜单,我使用IssueSelect了(作为FieldArrayFormik 中的一个)。

而且IssueSelect,我用于创建和更新表单。

我的组件如下所示:

在 Create Form 中,一切正常。

但是更新表单,我将 initialValue 传递给IssueSelect组件,它正确显示了我传递的数据。但我无法更改选择框中的选项。

我已经通过传递设置默认值,value={iselected.id} 当我传递这个道具时,在创建表单中。它不再起作用了。

您可以检查我的代码框以了解我的意思: https ://codesandbox.io/s/rr1o8x3ppq

先感谢您。

0 投票
5 回答
59803 浏览

javascript - 如何正确使用 Formik 的 setError 方法?(反应库)

我正在使用 React 与后端通信。现在尝试正确实现 Formik(表单库)。

主要问题: 如何正确使用 Formik 的 setError 方法?

客户端验证错误正确显示,但现在我正在尝试设置/显示后端验证错误,这些错误返回状态码为 400 的响应。

链接到有关我尝试使用的方法的文档

我在下面的代码中名为handle400Error的方法中使用了这个方法。

我的反应(和 Formik)代码:

0 投票
1 回答
4817 浏览

javascript - Formik 选择框未更新表单提交上的字段

我正在使用 Formik 和 React 来处理我的 Web 应用程序表单。

当我尝试提交任何带有字段的表单时,它不包含该字段的正确选择值,它采用默认值。

在下面的情况下,元素对应于输入“clientId”,当我选择一个客户端然后提交表单时,Formik 始终假定 clientId 为空字符串(默认值)。

我试图用文档中的以下代码替换我的动态选择框

但是,它没有用。

我的代码有问题吗?这是我正在使用的版本中的错误吗?

我试图在 github 上找到与此问题相关的任何问题,但我找不到任何东西。

这是我的表单:

和这个 SelectClientInput 组件

我正在使用 react-dom 16.6 和 formik 1.3.1

注意:每个字段都以正确的值发送,但字段除外。

谢谢!

0 投票
1 回答
5452 浏览

reactjs - 在 formik 之外处理 onSubmit

我正在尝试从使用 Formik 构建的表单中提取值,但是我似乎无法通过 onSubmit 调用从 formik 中获取这些表单值。让他出来并在父组件上处理它的最佳方法是什么?

这是表单组件

这是父组件

我这样做正确吗?目的是让父母处理提交,因为表单应该可重复用于编辑等

0 投票
3 回答
2213 浏览

reactjs - 无法仅通过 Formik 触发 Antd 表单的验证 - 错误字段仅在实际尝试提交时显示

我无法通过单击按钮而不是提交来仅验证(不提交)表单,这是一个 Antd 表单。让它验证和更新有错误的字段的唯一方法是我尝试提交它。有没有办法做到这一点?还是我不得不提交表格?

我有一个提交按钮和一个仅用于验证的按钮 - 仅验证按钮调用 validateForm 方法,但表单上没有任何更新。

编辑这里有一个指向代码和框的链接来演示这一点https ://codesandbox.io/s/xo5ln7l32p ...再次 - 当我触摸文本框或单击提交按钮时,验证工作并在文本框下方显示错误消息,但是,当单独单击 Validate All 时,文本框下方不会显示任何错误。

这是我的基本 Antd 表单的代码:

这是我的表格:

这是我的文本输入:

0 投票
2 回答
7504 浏览

javascript - 如何处理 onChange 并将焦点转移到新的?

我正在使用 Formik(带有withFormik())并希望在<Field>用户输入时检查 a - 在其中包含 4 个字符之后,我想专注于下一个字段,这样他们就可以继续输入而不必移动到下一个字段。

所以我的 InnerForm 有:

FormikInnerFormContainer = withFormik(...)有一个validationSchema。

如果第一个字段中有 4 个字符,我如何捕捉第一个字段的更改并将焦点移到第二个字段?

我试图覆盖onChange,但无法弄清楚如何使用用户键入的每个字符更新字段内容。