Formik 禁用提交 btn

Posted

技术标签:

【中文标题】Formik 禁用提交 btn【英文标题】:Formik disabled submit btn 【发布时间】:2021-04-08 21:51:03 【问题描述】:

我有 Formik 表单,其中 initialValues 对于所有字段都不是空的。我的提交按钮有以下情况:

disabled=!(dirty && isValid)

是的验证模式:

const signInSchema = Yup.object().shape(
    title: Yup.string()
      .required(),
    description: Yup.string()
      .required(),
    spec: Yup.string()
      .required(),
    link: Yup.string()
      .url()
      .required(t),
  );

为什么在我更改某些字段的值之前提交按钮会被禁用?如果所有initialValues 都是正确的并且我没有对表单字段进行任何更改,我该如何为这种情况启用提交按钮?

【问题讨论】:

【参考方案1】:

我很确定这就是脏道具的目的。检查表单初始状态的变化。

尝试删除它。

disabled=!isValid

【讨论】:

以上是关于Formik 禁用提交 btn的主要内容,如果未能解决你的问题,请参考以下文章

如何使用useFormik在输入时禁用表单提交?

Formik + Yup:如何在提交前立即验证表单?

表格提交后,Formik Field不会清算

当我提交表单并尝试更改值时,Formik + Material UI 错误

防止提交路线更改 Formik AutoSave

React JS:Yup & Formik 错误消息在提交时显示多次