AntD 中未触发表单 onFinish/onSubmit

2024-01-31

antd表单onSubmit的简单demo不起作用

https://ant.design/components/form/#components-form-demo-register https://ant.design/components/form/#components-form-demo-register

字段组件的 onChange 已验证,但单击提交时不会调用 onFinish。

是因为 lodash/webpack 还是 React 版本依赖问题。

这是在 Lens ElectronJS 应用程序上发生的,依赖项如下:

"dependencies": {
    "@k8slens/extensions": "4.0.0-beta.3",
    "antd": "4.8.4",
    "dayjs": "1.10.4",
    "k8s-api": "1.2.19",
    "lodash": "4.17.20",
    "react-dom": "17.0.1",
    "react-jsonschema-form": "1.8.1",
    "react-router": "5.2.0",
    "rjsf-antd": "0.1.5-alpha.17"
  },
  "devDependencies": {
    "@ant-design/compatible": "1.0.8",
    "@ant-design/icons": "4.5.0",
    "@rjsf/antd": "2.3.0",
    "@rjsf/core": "2.4.2",
    "@types/lodash": "4.14.108",
    "@types/node": "12.0.0",
    "@types/react": "16.9.35",
    "@types/react-jsonschema-form": "1.7.4",
    "@types/react-redux": "^7.1.16",
    "@types/redux": "^3.6.0",
    "@types/redux-devtools-extension": "^2.13.2",
    "css-loader": "5.0.1",
    "husky": "4.3.7",
    "prettier": "2.1.1",
    "pretty-quick": "3.1.0",
    "react-redux": "^7.2.2",
    "redux": "^4.0.5",
    "redux-devtools-extension": "^2.13.8",
    "redux-observable": "^1.2.0",
    "sass": "1.32.0",
    "sass-loader": "10.0.2",
    "style-loader": "2.0.0",
    "stylelint": "12.0.0",
    "stylelint-config-prettier": "8.0.0",
    "stylelint-config-standard": "19.0.0",
    "stylelint-scss": "3.13.0",
    "ts-loader": "8.0.4",
    "tslint": "5.20.1",
    "tslint-config-prettier": "1.18.0",
    "tslint-eslint-rules": "4.1.1",
    "tslint-loader": "3.6.0",
    "tslint-no-circular-imports": "0.3.0",
    "tslint-plugin-prettier": "2.0.1",
    "tslint-react": "3.2.0",
    "tslint-react-hooks": "2.2.1",
    "tslint-staged": "0.1.3",
    "typescript": "4.0.3",
    "webpack": "4.44.2",
    "webpack-cli": "3.3.11"
  },

我也没有看到任何控制台错误,并且根本没有调用 onFinish 函数来发布一些消息。


请务必检查您是否为非必填输入字段设置了任何自定义验证器。我遇到了类似的问题,当没有输入时(因为它不是必需的输入字段),我忘记让自定义验证器返回已解决的承诺。

就是这条线else return Promise.resolve()下面解决了我的问题。

  <Form.Item
    label="End Date"
    name="end_date"
    rules={[
      ({ getFieldValue }) => ({
        validator(_, value) {
          if (value) {
            if (value >= getFieldValue("start_date")) {
              return Promise.resolve()
            }
            return Promise.reject(
              "End date shall be later than the start date"
            )
          } else return Promise.resolve()
        },
      }),
    ]}
  >
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AntD 中未触发表单 onFinish/onSubmit 的相关文章

随机推荐

  • 正则表达式搜索包含 (?:.|\s)*? 的模式需要越来越长的时间

    我的正则表达式匹配时间越来越长 第五次大约 30 秒 但需要应用大约 500 轮匹配 我怀疑这是灾难性的回溯 请帮忙 我如何优化这个正则表达式 String regex tr s td width quot 20 quot b s b td
  • 从 Jenkins 的 credential.xml 中提取密码

    我已向 Jenkins 添加了 SSH 凭据 不幸的是 我忘记了 SSH 密码 现在想从 Jenkins 的凭证存档中获取它 该存档位于 JENKINS HOME credentials xml 该 XML 文档似乎具有在 XML 标签中加
  • 如何用 Google 测试捕获断言?

    我正在使用 Google 测试框架编写一些单元测试 但我想检查一些断言是否放置得当并且有用 有没有办法在 Google 测试中捕获断言 测试中的示例代码 int factorial int n assert n gt 0 然后是测试 inc
  • mvc路由生成iis 7.5错误禁止

    我的 WebApplication 我在这里有一个 ASPX WebForms 页面 ASPWebforms MyFolder Default aspx 如果我使用这段代码 public static void RegisterRoutes
  • 获取msoFileDialogFolderPicker的初始路径

    我正在开发的应用程序要求用户使用 msoFileDialogFolderPicker 选择一个文件夹 并且它在最后一个位置打开文件夹选择器非常有用 但是 我们的用户偶尔会更改路径中的文件夹名称 这会导致 Windows 出现 位置不可用 对
  • 在生产模式下出现“开发”错误

    我遇到了一个奇怪的问题 我在生产模式下运行服务器 一切都很好 但我不断收到错误消息 就像它们在开发模式下出现一样 例如 我得到的不是 404 页面 而是 没有路由与 method gt get 匹配 foo 异常通知程序 也停止发送异常 我
  • Htaccess 301 博客重定向 url

    我在我的实时网站上进行了 301 重定向 类似于此 urlhttps www rosterelf com support detail 1424 how can i copy shifts from a day to another到这个网
  • 使用 Android SDK,我在 JPEG 中看不到任何 EXIF

    我正在使用android hardware Camera类拍照 我发现图像中根本没有存储 exif 数据 如果我在 DROID 上使用相机应用程序 所有 exif 数据都会被保存 我尝试使用 Set 和 SetRotation 设置旋转 看
  • 使用 PHP 从字符串中获取数字

    我有字符串 one foo bar 4 baz 5 qux quux two bar baz 2 bar three qux bar 12 quux 3 foo four foo baz 3 bar 13 quux foo 如何找到这些字符
  • Amazon Emr - 当我们拥有核心节点时,任务节点需要什么?

    我最近在学习Amazon EMR 据我所知 EMR集群让我们选择3个节点 Master 运行主要 Hadoop 守护进程 如 NameNode 作业跟踪器和资源管理器 运行 Datanode 和 Tasktracker 守护进程的核心 仅运
  • 为什么ajax调用后页面会刷新

    我有一个活动 如果它是模糊的 那么页面不会刷新 但如果它是点击事件 那么页面就会重新加载 到底是什么原因呢 weeklygeneratebtn on click function store name on blur function va
  • 有没有办法在 Android SDK 模拟器中获取可复制粘贴的调试输出?

    我在 Android 模拟器中生成了一些信息 我能看到获取它的唯一方法是使用 Log 类 但是 您无法从 DDMS 日志窗口进行复制和粘贴 这真的很烦人 因为我无法在另一个应用程序中使用该信息 例如 如果不重新输入它 有没有更好的方法从模拟
  • 如何从 Microsoft Office 2007 保存 ImageMSO 图标?

    我从 Microsoft Office 2007 中发现了很多漂亮的图标 您知道如何使用 VBA 将所有图标提取并保存为 PNG 文件吗 部分图像MSO http rabu4g bay livefilestore com y1p2SF1q6
  • 刚创建数据库后,无法以 root 身份访问该数据库

    作为 root localhost mysql gt CREATE USER aaa Query OK 0 rows affected 0 00 sec mysql gt GRANT USAGE ON TO aaa WITH MAX QUE
  • 何时使用属性和方法?

    我是来自 C 的 NET 世界的新手 我正在尝试更好地理解属性 我注意到 Microsoft 在 NET 框架中到处都使用了属性 使用属性比创建 get set 方法有优势吗 是否有关于何时应使用属性的通用准则 以及命名约定 它是纯粹的语法
  • 在 C++ 中创建 Windows 命名管道

    我正在尝试在 C Windows 中创建两个进程之间的简单通信 就像 Linux 中的 FIFO 一样 这是我的服务器 int main HANDLE pipe CreateFile TEXT pipe Pipe GENERIC READ
  • 打开 Thread Sanitizer 会产生信号 SIGABRT

    当我在 Xcode 版本 11 3 11C29 中创建一个新的单视图应用程序并运行时 一切正常 当我打开线程清理时 并尝试运行同一个应用程序 我明白了Thread 1 signal SIGABRT 这是回溯 lldb bt thread 1
  • WatchOS 2(测试版 5):watchAppInstalled 返回 false

    Watch App已安装在手表上 我可以在手表上点击并运行它 但是watchAppInstalled方法返回 false 另外 我只能使用 Xcode 7 安装 Watch 应用程序 如果我尝试通过打开开关使用 Watch iOS 应用程序
  • 当我在文本框中输入一些文本时,OnKey 事件被调度两次。如何预防?

    在我的调试过程中 我发现发生了一件奇怪的事情 我有一个EditText我将当前活动定义为OnKeyListener在用户键入时执行验证 Code txtPhoneNumber setOnEditorActionListener this t
  • AntD 中未触发表单 onFinish/onSubmit

    antd表单onSubmit的简单demo不起作用 https ant design components form components form demo register https ant design components for