news 2026/4/18 8:49:37

父页面调用子页面的表格校验功能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
父页面调用子页面的表格校验功能

实现效果(如下图):

问题:想在父页面点击控制子页面的校验,且让组件的报错样式显示,如图样式:

代码:

<el-form :model="form" label-width="auto" :rules="rules" ref="formRef" > <el-form-item label="任务名" prop="name"> <el-input v-model="form.name" placeholder="请输入任务名" /> </el-form-item> <el-form-item label="使用方案" prop="schemeId" > <el-select v-model="form.schemeId" placeholder="请选择" > <el-option v-for="item in selectOptions" :key="item.id" :label="item.name" :value="item.id" /> </el-select> </el-form-item> </el-form>
import { ref, reactive, } from "vue"; const formRef = ref(); const form = ref({ name: "", schemeId: "", }); const rules = reactive({ name: [{ required: true, message: "请输入方案名", trigger: "blur" }], schemeId: [{ required: true, message: "请选择使用方案", trigger: "change" }] });

重点:子组件封装函数

// 暴露表单校验方法给父组件调用 const validateForm = async () => { if (!formRef.value) { return { valid: false, errors: "表单实例不存在" }; } return new Promise((resolve) => { formRef.value.validate((valid, errors) => { resolve({ valid, errors }); }); }); }; defineExpose({ validateForm });

父组件使用:创建事件触发

<template> <sonPanel ref="sonPanelRef"/> </template> const sonPanelRef=ref() // 保存事件 const saveTask = async () => { if (sonPanelRef.value) { //当子组件存在,调用子组件函数 const { valid, errors } = await sonPanelRef.value.validateForm(); if (!valid) return //若校验失败则拦截 } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:46:33

1小时搭建Java性能监控看板:VisualVM+Prometheus整合

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个VisualVM数据导出和可视化原型&#xff0c;功能要求&#xff1a;1) 将VisualVM监控数据实时导出到Prometheus&#xff1b;2) 配置Grafana监控看板&#xff1b;3) 设置性能…

作者头像 李华
网站建设 2026/4/18 8:49:14

用DATART快速验证数据产品创意:48小时从想法到原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个数据产品原型生成器&#xff0c;用户输入&#xff1a;1) 目标用户群体 2) 要解决的核心问题 3) 可用数据源。系统自动生成&#xff1a;1) 建议的可视化方案 2) 交互原型 3…

作者头像 李华
网站建设 2026/4/18 8:40:59

NPM命令完全指南:小白到精通

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 生成一个交互式NPM学习应用&#xff0c;按难度分级教学&#xff1a;1&#xff09;基础篇&#xff08;install, init, run&#xff09;2&#xff09;进阶篇&#xff08;link, audit…

作者头像 李华
网站建设 2026/4/18 8:42:24

AI一键搞定:用快马平台自动配置CUDNN环境

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python脚本&#xff0c;自动检测系统环境并安装匹配的CUDNN版本。首先检查NVIDIA驱动和CUDA版本&#xff0c;然后从NVIDIA官网下载对应的CUDNN包&#xff0c;自动解压并复…

作者头像 李华
网站建设 2026/4/17 15:15:41

零基础教程:5分钟学会下载和使用RPM包

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个RPM包新手教学工具&#xff0c;功能&#xff1a;1) 交互式命令行模拟器&#xff1b;2) 常用RPM命令分步教学&#xff1b;3) 典型错误情景模拟&#xff1b;4) 实时反馈和提…

作者头像 李华