Formik 在提交表单时将所有字段的 touched 属性设置为 true。

3

我遇到了一个问题,尝试提交这个表单时会弹出警告,因为每个字段都被标记为 formik.touched=true - 这个警告应该只在更改名称字段时出现。

我尝试删除/添加 onBlur(一些在线论坛说可能会导致问题),并且在各个地方尝试 console logging。找不到为什么 touched 总是 true!

2个回答

8

-1
useEffect(() => {
if (formik.submitCount === 1) {
  (data?.questions || []).forEach(({ id }) => {
    formik.setFieldTouched(id.toString(), true, true);
  });
}

}, [formik.submitCount]);


你的回答可以通过提供额外的支持信息来改进。请添加更多详细信息,例如引用或文档,以便其他人可以确认你的答案是否正确。你可以在帮助中心找到关于如何撰写良好答案的更多信息。 - Community
这并没有回答问题。一旦你拥有足够的声望,你就可以评论任何帖子;相反,提供不需要提问者澄清的答案。- 来自审查 - Dhaifallah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接