问题标签 [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 投票
2 回答
4700 浏览

javascript - React FormIk 将值重置为空值 handleReset 函数

我有一个加载默认值的表单。

我想要一个按钮来将所有表单的值重置为空值。

内置的 handleReset 函数仅将值重置为表单加载时的默认值。我尝试使用类似于下面代码的概念更改具有默认值的道具,但道具是“只读的”。

代码沙盒https://x7069jq8lz.codesandbox.io/

如何将所有 formIk 字段重置为空值?

谢谢!

0 投票
0 回答
1198 浏览

javascript - 无法更新 fieldArray 元素

我正在尝试使用 React.js 和 Formik 库创建一个动态表单。问题是我无法更新服务数组,除了第一个数组元素。

我的表单模型如下所示:

我的表单必须有一个包含两个字段(名称和评论)的服务数组。服务名称生成为特定列表中的单选按钮。这是代码:

我还尝试制作一个单独的无状态组件来生成服务列表(单选按钮),但得到了相同的结果。但是,使用单独的无状态组件时,我注意到与组件相比,DOM 中的索引值(从 props 接收)是不同的。

0 投票
1 回答
3243 浏览

reactjs - 如何将 formik 与有状态的反应组件一起使用

我刚开始学习reactjs。我在搜索表单验证时遇到了 formik 和是的。到目前为止,我所经历的大多数示例都是关于无状态组件的。所以我想知道如何在有状态组件中使用 formik 和 yup ?

我有一个简单的员工详细信息表格,其中包含电子邮件、名字、姓氏、电话和城市。表单的数据是从数据库中加载的。加载数据后,用户可以对其进行编辑并将其保存到数据库。您能否通过为上述所有字段添加验证来帮助我将 formik 和 yup 添加到我的项目中?我的代码也在这里https://codesandbox.io/s/l26rqyx6j7

我的表格在EmpJobDetailsForm.js下面给出

我有一个简单的 APIUtils.js。这是非常基本的,我将在此处添加代码以从 db 获取数据。

感谢你的帮助。

谢谢

0 投票
1 回答
6333 浏览

javascript - Formik 组件更改要控制的类型文本的不受控输入

我将 Formik 与一个数组一起使用,其中项目是从父级传递并像这样检索的:

我最初将这些值初始化为空或 0:

虽然这看起来应该可以工作,但我收到一个错误,即组件正在更改要控制的文本类型的不受控制的输入。了解这是由于我使用了 this.state 但我不确定如何实际解决此问题。

到目前为止,由于我使用的是 Formik,我所做的是将我的导出更改为如下所示:

目前还不清楚我是否应该映射道具,或者我是否应该使用类似的东西:

我所知道的是,我无法单击以将新对象推送到我正在使用的数组上,因此该功能基本上被冻结,直到我能够弄清楚未/受控输入元素的状态。

知道我哪里出错了吗?

0 投票
0 回答
269 浏览

reactjs - React-redux mapStateToProps 值未更新

我有一个奇怪的场景,在我的 redux 开发工具中,我可以看到 redux 状态已更新,但该值并未反映在与之连接的组件中。

所以我有一个像 CreateEnvironment 这样的组件

对应的容器如下所示:

WorkflowPage里面的所有组件Environment都是使用 Formik 模式的表单。一个示例组件是:

单击下一个WorkflowButton时,通过传递操作 updateEnvironmentWorkflow 来更新 redux 状态。动作是这样的:

我的减速机是这样的:

现在奇怪的是,如果我单击下一个按钮,redux 状态会更新为新值。如果我导航到其他页面并返回创建环境,我的表单值将显示来自 redux 存储状态的更新值。

但是,如果我只是点击上一个按钮,我的状态值不会显示更新的值。证书的 render() 中的 console.log(formValues) 仅显示初始值。

任何帮助将不胜感激。谢谢。

Form的initialValues也是Formik的initialValues。这也可能是一个formik问题

0 投票
3 回答
5153 浏览

reactjs - 基于另一个字段的值所需的字段 - formik,是的

我有一个 react formik 表单,其中有一个选择字段,例如该字段的值 A、B、C、D、E、F。

现在说,另一个字段 ChooseSubType 仅在我选择 B 或 D 时显示,并且该字段仅在显示时是必填字段,而不是在此之前。

现在,我该怎么做呢?

这是第一个字段的代码,即选择字段

但这段代码不起作用。

现在,我要在这里进行哪些更改才能使这项工作按我的意愿进行?

0 投票
1 回答
1687 浏览

javascript - 反应formik,测试是否在点击时调用提交函数 - jest,enzyme

我正在测试一个包含表单(使用 formik)的反应组件,我需要测试是否单击了提交按钮,是否调用了提交函数。

目前,测试失败。现在,表单也需要字段模式,所以,我想知道在测试之前是否需要填写所有字段。因为目前,它不会提交,直到表单出现错误,即如果必填字段为空。那么这是否会阻碍对按钮单击和被调用函数的测试?

那么,在测试之前,我该如何填写这些字段?或者我是否需要在点击测试之前填写这些字段?

0 投票
1 回答
678 浏览

typescript - 在一个屏幕上使用 React Native、Graphql 和 Formik 的 Typescript

我正在尝试将 typescript 与 React Native、Graphql 和 Formik 一起使用。

我在 EmailSignupScreen 下得到一条红色波浪线( 带有以下错误消息export default graphql(SIGNUP_MUTATION)(EmailSignupScreen);

我怀疑错误在于这行代码......

我应该如何使用打字稿正确输入以消除错误

谢谢

0 投票
4 回答
4888 浏览

css - 如何在 React Formik 应用程序中设置 Yup 验证的错误消息样式?

我正在使用 Formik 和 Yup 在 React 中构建一个表单。我不确定如何为电子邮件和密码字段显示的动态错误消息设置样式。下面是一个代码示例:

https://codesandbox.io/s/j3l5w70q9w

在此处输入图像描述

我想对背景颜色、位置和文本颜色进行风格化,但我不知道如何将自定义类名插入出现的错误文本中。

有任何想法吗?

0 投票
2 回答
6328 浏览

reactjs - YUP 验证:将字段“a”和“b”的数学值与字段“c”进行比较

你好,我对 YUP 很陌生,并试图喜欢它:)

我能够让 yup 做基本的(内置)验证工作,但我似乎无法弄清楚如何进行涉及一些数学的验证。

例如,我知道您可以使用 Yup.ref('field') 和 .lessThan 来针对 field_2 验证 field_1,但是如果您想做这样的事情怎么办?

if ((field_1 * field_2} < field_3) { 返回错误 }

通过阅读文档,我知道您可以将自定义方法(即:addMethod)添加到是的,但是到目前为止我还没有使这种方法起作用。

任何帮助或指向如何以这种方式使用 addMethod 的可靠示例的链接将不胜感激。提前致谢。