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();
  };
相关推荐
犹豫的果冻布丁6 小时前
从零给 DeepSeek Harness 写一个壁纸皮肤插件(已开源)
前端·后端
漏刻有时6 小时前
数据可视化Three.js 3D 地图实战:单文件原生实现省域区县拉伸建模
前端
会说话的番茄7 小时前
AI 满嘴跑火车怎么办?给它配个"小抄"
前端·aigc
计算机魔术师7 小时前
AI 权力集中辩论实录:从「token 工厂」到「唯一幸存者」
前端
eric-sjq7 小时前
WanlyFrontend 中文声明式前端语言完全指南:让 0.6B 模型写出漂亮网页
前端
Full Stack Developme7 小时前
跨站请求伪造 (CSRF) 是什么 设计及工作原理
前端·okhttp·csrf
SendTomo7 小时前
WebRTC文件互传工具实测对比
javascript·网络·webrtc·html5·p2p
MoSTChillax7 小时前
UI规范设计:从视觉到交互的全面指南
前端·ui·产品经理·设计规范·vibecoding
雪碧聊技术7 小时前
Vue + Element Plus 实现文本溢出显示省略号及悬浮提示
前端·javascript·css·vue.js·文本溢出省略
eric-sjq7 小时前
0.6B 前端生成模型本地部署实战:消费级显卡跑通 WanlyFrontend 全流程
前端·本地部署