当前位置: 首页 > news >正文

vue3父组件调用子组件方法

需求:在vue3中需要在父组件调用子组件的方法

思路:通过ref和defineExpose直接暴露给父组件

1.子组件暴露表单验证方法

<template><a-form ref="formRef" :model="formState" :rules="rules"><a-form-item label="用户名" name="username"><a-input v-model:value="formState.username" /></a-form-item></a-form>
</template><script setup>
import { ref } from 'vue';const formRef = ref(); // 表单引用
const formState = ref({ username: '' }); // 表单数据
const rules = { // 验证规则username: [{ required: true, message: '请输入用户名' }]
};// 暴露给父组件的验证方法
const validate = () => formRef.value.validate();defineExpose({ validate }); // 暴露方法
</script>

2.父组件触发子组件表单验证

<template><ChildForm ref="childFormRef" /><a-button @click="handleSubmit">提交</a-button>
</template><script setup>
import { ref } from 'vue';
import ChildForm from './ChildForm.vue';const childFormRef = ref(); // 子组件引用const handleSubmit = async () => {try {const values = await childFormRef.value.validate();console.log('验证通过,数据:', values);// 提交数据逻辑...} catch (error) {console.log('验证失败', error);}
};
</script>

相关文章:

  • React Native主题切换、字号调整:不用styled-components也能玩出花
  • daplink开发_一次开发DAPLink的详细开发流程及调试步骤
  • Nginx性能调优与深度监控
  • 在IDEA中编写Spark程序并运行
  • 2025.05.07-华为机考第三题300分
  • C++初阶-string类4
  • DeepSeek智能时空数据分析(九):NL2SQL绘制河流名字-如何给轨迹添加说明文字
  • Qt 中基于 spdlog 的高效日志管理方案
  • 服务器上机用到的设备
  • 【spring】Spring、Spring MVC、Spring Boot、Spring Cloud?
  • 结构可视化:利用数据编辑器剖析数据内在架构​
  • 线程池技术
  • ​​大疆无人机SDR 链路​​
  • AGV智能搬运机器人:富唯智能引领工业物流高效变革
  • 如何判断自己是否适合做项目管理?
  • 成都养老机器人“上岗”,机器人养老未来已至还是前路漫漫?
  • 拒绝服务攻击(DoS/DDoS/DRDoS)详解:洪水猛兽的防御之道
  • 低成本监控IPC模组概述
  • 堆排序(算法题)
  • 快速上手知识图谱开源库pykeen教程指南(一)
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营
  • 巴基斯坦首都及邻近城市听到巨大爆炸声
  • 蔡达峰:推动食品安全法全面有效实施,为维护人民群众身体健康提供有力法治保障
  • 追光|铁皮房、土操场,这有一座“筑梦”摔跤馆
  • 昆明阳宗海风景名胜区19口井违规抽取地热水,整改后用自来水代替温泉
  • “80后”计算机专家唐金辉已任南京林业大学副校长