问题标签 [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.
reactjs - 如何在 Enzyme React 测试中访问嵌套组件
在这里,我将 Banking 作为父组件,将 bankingForm 作为具有所有字段的子组件。我在 Baking 父组件中使用 formik 渲染道具。此测试失败,因为当它被浅渲染时,我无法在组件内部获取“BankingForm”组件。我做错了什么酶的观点吗?
javascript - React Formik Field onChange 事件句柄
我正在尝试为 React Formik 中的 Field 组件处理 onChange,但它不起作用。我还尝试通过以下方式在 Formik 组件之外处理它:
但我收到警告:
组件正在更改要控制的文本类型的不受控输入。输入元素不应从不受控切换到受控(反之亦然)。
现在我的代码如下所示:
任何提示/想法?
javascript - 如何创建具有 3 个输入但映射到 1 个 yup 值的 Formik 和 yup 表单组件?
我基本上如何通过 yup 验证在 formik 中创建这个https://design-system.service.gov.uk/patterns/dates/ 。
所以这 3 个字段day
,month
并year
会创建合并到一个{date: [moment]}
由 yup 验证?
reactjs - 将数据从多个选项卡 usinf formik 提交到 redux
我有一个带有两个选项卡的引导选项卡。两个选项卡都包含表单。我在页面顶部有一个保存按钮。
我想在单击保存按钮时使用 axios 和 redux-thunk 将两个表单提交到后端。
关于提高性能的最佳实践的任何建议?
javascript - 在 Formik 中设置默认值字段数组
我正在使用Formik来构建我的表单。
我的表单有三个文本区域和 1 个选择下拉菜单
对于选择下拉菜单,我使用IssueSelect
了(作为FieldArray
Formik 中的一个)。
而且IssueSelect
,我用于创建和更新表单。
我的组件如下所示:
在 Create Form 中,一切正常。
但是更新表单,我将 initialValue 传递给IssueSelect
组件,它正确显示了我传递的数据。但我无法更改选择框中的选项。
我已经通过传递设置默认值,value={iselected.id}
当我传递这个道具时,在创建表单中。它不再起作用了。
您可以检查我的代码框以了解我的意思: https ://codesandbox.io/s/rr1o8x3ppq
先感谢您。
javascript - 如何正确使用 Formik 的 setError 方法?(反应库)
我正在使用 React 与后端通信。现在尝试正确实现 Formik(表单库)。
主要问题: 如何正确使用 Formik 的 setError 方法?
客户端验证错误正确显示,但现在我正在尝试设置/显示后端验证错误,这些错误返回状态码为 400 的响应。
链接到有关我尝试使用的方法的文档
我在下面的代码中名为handle400Error的方法中使用了这个方法。
我的反应(和 Formik)代码:
javascript - Formik 选择框未更新表单提交上的字段
我正在使用 Formik 和 React 来处理我的 Web 应用程序表单。
当我尝试提交任何带有字段的表单时,它不包含该字段的正确选择值,它采用默认值。
在下面的情况下,元素对应于输入“clientId”,当我选择一个客户端然后提交表单时,Formik 始终假定 clientId 为空字符串(默认值)。
我试图用文档中的以下代码替换我的动态选择框
但是,它没有用。
我的代码有问题吗?这是我正在使用的版本中的错误吗?
我试图在 github 上找到与此问题相关的任何问题,但我找不到任何东西。
这是我的表单:
和这个 SelectClientInput 组件
我正在使用 react-dom 16.6 和 formik 1.3.1
注意:每个字段都以正确的值发送,但字段除外。
谢谢!
reactjs - 在 formik 之外处理 onSubmit
我正在尝试从使用 Formik 构建的表单中提取值,但是我似乎无法通过 onSubmit 调用从 formik 中获取这些表单值。让他出来并在父组件上处理它的最佳方法是什么?
这是表单组件
这是父组件
我这样做正确吗?目的是让父母处理提交,因为表单应该可重复用于编辑等
reactjs - 无法仅通过 Formik 触发 Antd 表单的验证 - 错误字段仅在实际尝试提交时显示
我无法通过单击按钮而不是提交来仅验证(不提交)表单,这是一个 Antd 表单。让它验证和更新有错误的字段的唯一方法是我尝试提交它。有没有办法做到这一点?还是我不得不提交表格?
我有一个提交按钮和一个仅用于验证的按钮 - 仅验证按钮调用 validateForm 方法,但表单上没有任何更新。
编辑:这里有一个指向代码和框的链接来演示这一点:https ://codesandbox.io/s/xo5ln7l32p ...再次 - 当我触摸文本框或单击提交按钮时,验证工作并在文本框下方显示错误消息,但是,当单独单击 Validate All 时,文本框下方不会显示任何错误。
这是我的基本 Antd 表单的代码:
这是我的表格:
这是我的文本输入:
javascript - 如何处理 onChange 并将焦点转移到新的?
我正在使用 Formik(带有withFormik()
)并希望在<Field>
用户输入时检查 a - 在其中包含 4 个字符之后,我想专注于下一个字段,这样他们就可以继续输入而不必移动到下一个字段。
所以我的 InnerForm 有:
我FormikInnerFormContainer = withFormik(...)
有一个validationSchema。
如果第一个字段中有 4 个字符,我如何捕捉第一个字段的更改并将焦点移到第二个字段?
我试图覆盖onChange
,但无法弄清楚如何使用用户键入的每个字符更新字段内容。