vue3大事件项目3

弹框验证

先准备变量:

const formModel = ref({

  cate_name: '',

  cate_alias: ''

})

还有规则:

const rules = {

  cate_name: [

    { required: true, message: 'please input name', trigger: 'blur' },

    {

      pattern: /^\S{1,10}$/,

      message: 'must be 1-10',

      trigger: 'blur'

    }

  ],

  cate_alias: [

    { required: true, message: 'please input second name', trigger: 'blur' },

    {

      pattern: /^[a-zA-Z0-9]{1,15}$/,

      message: 'must be 1-15 number or aphlet',

      trigger: 'blur'

    }

  ]

}

1. form表单绑定变量和规则:<el-form :model="formModel" :rules="rules">

2.input框配置  v-model

 <el-input 

          v-model="formModel.cate_alias"

        ></el-input>

3. el-form-item标签配置prop,用于接收参数<el-form-item label="分类别名" prop="cate_name">

prop用于指定表单项所对应的Vue实例数据对象中的属性名。当你需要在表单提交时获取或验证表单项的值,就需要用到prop属性。

编辑需要回显,表单数据需要初始化

编辑时,数据回显

添加时为空

封装的组件当中

//组件对外暴露一个方法open,基于open传来的参数,区分是添加还是编辑
//open({}) => 表单没有渲染,说明是添加
//open({id,cate_name,...}) => 表单需要渲染,说明是编辑
//open调用后,可以打开弹窗
const open = (row) => {dialogVisible.value = true// formModel.value展开//添加 -> 传空值,相当于重置表单内容//编辑 -> 存储需要回显的数据formModel.value = { ...row }
}

基于传过来的表单数据,进行标题控制,有 id 的是编辑,没有的是添加,注意最外层加双引号

 <el-dialogv-model="dialogVisible":title="formModel.id ? 'edit' : 'add'">

添加或编辑完成后提交数据

1.封装接口:添加文章分类,post和编辑文章分类,put

//添加文章分类,post
export const artaddChannelService = (data) => request.post('/my/cate/add', data)
//编辑文章分类,put
export const arteditChannelService = (data) =>request.put('/my/cate/info', data)

2.为按钮绑定点击事件onSubmit

     <el-button type="primary" @click="onSubmit"> Confirm </el-button>

3.封装onSubmit

先校验,之后判断open方法有没有传id过来,有就是编辑,没有就是添加

const onSubmit = async () => {//校验,检验通过就执行下一步await formRef.value.validate()const isEdit = formModel.value.idif (isEdit) {await arteditChannelService(formModel.value)ElMessage.success('success edit')} else {await artaddChannelService(formModel.value)ElMessage.success('success add')}
}

4.在channelEdit里导入封装好的接口

import { arteditChannelService, artaddChannelService } from '@/api/article.js'

5.效果

6.备注:如果弹框不出现,就在最上面导入

import 'element-plus/dist/index.css'

7.关弹层

 //关弹窗dialogVisible.value = false

8.通知父组件

defineEmits` 是一个组合 API,用于定义父组件可以监听的子组件事件。

const emit = defineEmits(['success'])

当前的Vue组件正在向其父组件发出一个名为 'success' 的自定义事件。

  //通知父组件emit('success')

为了响应这个事件,父组件需要在其模板中使用 v-on 指令(或者简写为 @)来监听这个事件。

父组件:调用子组件

  <channel-edit ref="dialog" @success="onSuccess"></channel-edit>

父组件:封装方法(getChannelList()是父组件已经封装好的方法)

const onSuccess = () => {getChannelList()
}

9.完成:可以成功添加或修改,并且自动渲染


​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/307646.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

太阳光光照试验耐久性老化试验使用太阳光模拟器系统

上海科迎法电气科技有限公司生产的太阳光模拟器系统主要应用于太阳能研究、材料研究、光伏组件测试、空间环境模拟器、植物生长研究、光热模拟等领域&#xff0c;主要表现特征为&#xff1a; 1. 太阳能研究&#xff1a;可用于模拟不同光照条件下太阳能电池的性能测试和研究&am…

高清视频素材,免费下载,收藏好这6个网站。

国内大部分视频素材网站都需要付费购买&#xff0c;这让很多从事视频剪辑的朋友不知道去哪里找免费的视频素材&#xff0c;本期就给大家分享我收藏多年的6个视频素材网站&#xff0c;都可以免费下载&#xff0c;还可以商用&#xff0c;而且国内外的都有哦&#xff0c;有需要的朋…

java-spring 图灵 02 手写spring

01.idea中创建一个maven管理的空项目 02.模拟创建出spring容器类&#xff0c;这里叫wzpApplicationContext&#xff0c;创建的时候会自动加载配置类的数据 public class wzpApplicationContext {private Class configClass;public wzpApplicationContext(Class configClass) …

【Qt 学习笔记】QWidget的windowOpacity属性 | cursor属性 | font属性

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ QWidget的windowOpacity属性 | cursor属性 | font属性 文章编号&#…

解决 MSYS2 Qt 6.7 默认 stylesheet 在 windows 11 下的显示故障

项目场景&#xff1a; MSYS2 升级到 Qt6.7.0&#xff0c;发现显示故障&#xff0c;所有Qt6程序以及 QtCreator的SpinBox都显示不全&#xff0c;Combox的底色不对。 问题描述 2024年4月1日&#xff0c;pacman升级MSYS2后&#xff0c;Qt6遇到风格错误。 msys环境&#xff1a; …

ThingsBoard实现告警规则创建并生成报警信息

一、概述 1.概念 2.告警规则 3.简单报警条件 步骤1. 打开设置配置 ​步骤2. 单击警报规则 ​步骤3. 单击警报条件 ​步骤4. 单击过滤条件 ​步骤5. 选择数据键 ​步骤6. 设置条件 ​步骤7. 保存条件 ​步骤8. 应用更改 4.测试告警 1、使用MQTT发送遥测属性 2、查看…

数据结构:双向链表

一.双向链表的结构 最常用的链表就是单链表和双向链表。我们首先要知道&#xff0c;链表有八种分类。单链表是不带头单向不循环链表。而此篇博客要讲的是带头双向循环链表。 结构如下&#xff1a; 注意&#xff1a;带头链表里的头节点&#xff0c;实际为“哨兵位”&#xff0…

【python】python饮料销售数据分析可视化(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

机器人瓶胚检测工作站(H3U脉冲轴控制)

1、变量定义 2、程序监控1 2、 程序监控2 3、程序监控3 机器人输送料和机构的动作安全尤为重要&#xff0c;下面我们讨论下安全联锁控制逻辑 4、相机拍照触发信号 5、相机拍照触发时序

回归预测 | MATLAB实现BO-GRNN贝叶斯优化广义回归神经网络多输入单输出预测

回归预测 | MATLAB实现BO-GRNN贝叶斯优化广义回归神经网络多输入单输出预测 目录 回归预测 | MATLAB实现BO-GRNN贝叶斯优化广义回归神经网络多输入单输出预测预测效果基本介绍程序设计参考资料预测效果 基本介绍

【SpringBoot】获取参数

获取参数 传递单个参数传递多个参数传递对象后端参数重命名传递数组传递 json 数据获取 URL 中参数上传文件获取 cookie 和 session获取cookie获取session 传递单个参数 RequestMapping("/user") RestController public class UserController {// 传递单个参数Reque…

简单好用的SaaS知识库工具都在这了,看完赶紧收藏!

在信息飞速发展的今天&#xff0c;企业如何有效地管理海量的信息和知识成为了提高工作效率的关键。SaaS知识库工具正成为企业寻求的解决方案&#xff0c;它们不仅能够帮助团队组织文档&#xff0c;而且优化知识分享流程。现在就让我们来看看市场上几款简单又好用的SaaS知识库工…

华为云配置安全组策略开放端口

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才下…

C语言 | 内存函数memcpy,memmove,memset,memcmp

目录&#xff1a; 1. memcpy使用和模拟实现 2. memmove使用和模拟实现 3. memset函数的使用 4. memcmp函数的使用 头文件&#xff1a;<string.h> 1. memcpy使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 从source的…

【CPA考试】2024注册会计师报名照片尺寸要求解读及手机拍照方法

随着2024年注册会计师考试的临近&#xff0c;众多会计专业人士和学生都开始准备报名参加这一行业的重要考试&#xff0c;报名时间为4月8日至4月30日。报名过程中&#xff0c;一张符合要求的证件照是必不可少的。本文将为您详细解读2024年注册会计师考试报名照片的尺寸要求&…

Git以及Gitlab的快速使用文档

优质博文&#xff1a;IT-BLOG-CN 安装git 【1】Windows为例&#xff0c;去百度下载安装包。或者去官网下载。安装过秳返里略过&#xff0c;一直下一步即可。丌要忉记设置环境发量。 【2】打开cmd&#xff0c;输入git –version正确输出版本后则git安装成功。 配置ssh Git和s…

C++ 之 【类与对象】 从入门到精通一条龙服务 进阶篇(类的6个默认成员函数,构造,析构。。。)

以后把闹钟换成唢呐&#xff0c;醒了就起床&#xff0c;不醒就上天堂 一、类的6个默认成员函数 二、构造函数 1.概念 2.特性 三、析构函数 1.概念 2.特性 四、拷贝构造函数 1.概念 2.特征 五、赋值运算符重载 1.运算符重载 2.赋值运算符重载 3.前置和后置重载 六…

rancher踩坑日志:prometheus访问kubelet 10250端口提示鉴权失败

该原因是因为kubectl禁止了非授权用户访问10250端口来获取node的数据。 解决思路&#xff1a; 添加prometheus访问kubelet时带上证书进行验证匹配 --> 由于我的prometheus是rancher安装的&#xff0c;不知道要怎么修改所以研究了一会没研究明白就放弃了。设置prometheus访问…

关于Ribbon在SpringCloudAlibaba2021.1版本中,找不到服务实例

关于Ribbon在SpringCloudAlibaba2021.1版本中&#xff0c;找不到服务实例 放个妹子 SpringCloudAlibaba在2021.1版本中,spring-cloud-starter-alibaba-nacos-discovery默认已经移除了ribbon模块 手动加上spring-cloud-starter-netflix-ribbon依赖后&#xff0c;项目能正常启动…

如何将CSDN的文章以PDF文件形式保存到本地

1.F12 打开开发者工具窗口 2.console下输入命令 (function(){$("#side").remove();$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();$(".nav_top_2011, #header, #navigator").remove…