vue3中基于AntDesign的Form嵌套表单的校验


场景:在新增数据弹框中有一个form1和组件form2,在点击新增时进行两个表单的校验

在组件表单2中

javascript 复制代码
  const validateForm = () => {
    return new Promise((resolve, reject) => {
      modalFormPopRef.value
        .validate()
        .then((res) => {
          resolve(res);
        })
        .catch((err) => {
          reject(err);
        });
    });
  };
  defineExpose({
    validateForm
  });

在父组件中

javascript 复制代码
  import to from 'await-to-js';
  
  const handleModalOk = async () => {
  
    // 校验表单
    // from1校验
    const [validError] = await to(modalFormRef.value.validate());
    // 组件form2校验
    // 通过组件上的ref属性calendar,获取子组件中的validateForm
    const [validPopError] = await to(calendar.value.validateForm());

    if (validError || validPopError) {
      message.error('表单校验失败,请检查');
      return;
    }
     // 新增逻辑
      handleAdd();
  };
相关推荐
Burt3 分钟前
我的 2026 全栈选型:Vue3 + Elysia + Bun + AlovaJS
vue.js·全栈·bun
止观止19 分钟前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext
沃尔威武21 分钟前
调试黑科技:Chrome DevTools时间旅行调试实战
前端·科技·chrome devtools
小锋java123428 分钟前
SpringBoot 4 + Spring Security 7 + Vue3 前后端分离项目设计最佳实践
java·vue.js·spring boot
一 乐29 分钟前
校园线上招聘|基于springboot + vue校园线上招聘系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·校园线上招聘系统
yuki_uix30 分钟前
虚拟 DOM 与 Diff 算法——React 性能优化的底层逻辑
前端·react.js·面试
时寒的笔记30 分钟前
js逆向7_案例惠nong网
android·开发语言·javascript
yuki_uix31 分钟前
从输入 URL 到页面显示——浏览器工作原理全解析
前端·面试
LanceJiang36 分钟前
从输入 URL 到页面:一个 Vue 项目的“奇幻漂流”
vue.js
weixin_408099671 小时前
【完整教程】天诺脚本如何调用 OCR 文字识别 API?自动识别屏幕文字实战(附代码)
前端·人工智能·后端·ocr·api·天诺脚本·自动识别文字脚本