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();
  };
相关推荐
weixin_422555428 小时前
el-menu子菜单点击就被激活,恢复之前的激活状态
javascript·vue.js·elementui
计算机魔术师8 小时前
两年翻45倍!英伟达靠买买买建成千亿投资帝国
前端
paopaokaka_luck8 小时前
基于springboot3+vue3的精准扶贫管理系统(AI 问答、ECharts 图形化分析)
前端·人工智能·echarts
l1m0_9 小时前
智能电动自行车管理后台实战:AI生成页面与React组件化技巧
前端·react.js·ui·ai·设计
Patrick_Wilson9 小时前
为什么gitlab的MR会默认有一个merge commit
前端·git·gitlab
en.en..9 小时前
Linux mmap 内存映射深度解析:基于帧缓冲 /dev/fb0
java·服务器·前端
后台模板学习10 小时前
从0到1用Vite构建电商订单系统前端性能优化方案
前端
Wang's Blog10 小时前
Vibe Coding一人即团队系列58: HTML演示文稿自动生成
前端·人工智能·html
FoldWinCard10 小时前
基于k8s高可用web集群
前端·容器·kubernetes
神探小白牙10 小时前
海康视频在vue2.0中的使用
前端·音视频