elementui 的 dialog 常用逻辑总结
菜鸟最近写后台管理系统,发现不管是弹窗、还是编辑、查看、添加等功能,真的代码都差不多,但是每次都要重新写里面的关闭逻辑等,菜鸟就感觉不如搞一个模版,后面只关注于逻辑,其他都直接来这里复制了!
在编辑、查看、添加等功能中,编辑中的逻辑是包含查看和添加的,所以菜鸟就总结一个编辑的!
文章目录
- 出现情况
- 父界面
- 子界面
出现情况
<el-table:data="dicList"style="width: 100%"
><el-table-column type="index" width="65" label="序号"></el-table-column><el-table-columnprop="label"label="接口字段"></el-table-column><el-table-columnprop="value"label="值"></el-table-column><el-table-columnprop="updateDate"label="更新时间"></el-table-column><el-table-column label="操作" align="left"><template slot-scope="scope"><el-tooltip effect="dark" content="查看" placement="top"><i class="el-icon-tickets" @click="seedetail(scope.row)"></i></el-tooltip><el-tooltip effect="dark" content="编辑" placement="top"><i class="el-icon-edit-outline" @click="openEditFun(scope.row)"></i></el-tooltip><el-popconfirmtitle="这是一段内容确定删除吗?"@confirm="deleteFun(scope.row)"><el-tooltip slot="reference" effect="dark" content="删除" placement="top"><i class="iconfont iconshanchu"></i></el-tooltip></el-popconfirm></template></el-table-column>
</el-table>
父界面
引入
import Edit from './dialog/edit.vue';
界面
<editv-if="editshow":dialogFormVisible="editshow":editdata="editdata"@closeEvent="hideEdit"
></edit>
变量 和 函数
export default {data() {return {dicList: null,// 编辑editshow: false,editdata: {},}},components: {Edit,},created: {// 请求 dicList},methods: {// 打开编辑openEditFun(scope) {// table 里面的scopethis.editshow = true;this.editdata = scope;},// 关闭编辑 第一种hideedit(msg) { // 这里msg就是为了区分 直接点关闭 和 保存后的关闭 做区分 [查看弹窗可不要]if (msg == false) {this.editshow = false;} else if (msg == true) {// TODO:保存后,重新请求 --》 最好是成功直接修改前端数据,并提示成功请求逻辑this.editshow = false;}},// 关闭编辑 第二种hideedit(msg, data) {if (msg == false) {this.editshow = false;} else if (msg == true) {this.dicList = data;this.editshow = false;}},},
}
子界面
界面
<template><div class="dialogWrapper"><el-dialog:title="title":visible.sync="dialogVisible"width="710px"ref="dialogBox"class="dialogBox":before-close="handleClose"@close="closeDialog":destroy-on-close="true"><el-form ref="form" :model="form" :rules="rules"><el-form-item label="xxxx1" prop="aaaa"><el-input v-model="form.aaaa"></el-input></el-form-item><el-form-item label="xxxx2" prop="bbbb"><el-select v-model="form.bbbb" placeholder="请选择"><el-optionv-for="item in recogTypeArr":key="item.value":label="item.label":value="item.value"></el-option></el-select></el-form-item></el-form><div slot="footer"><el-button @click="handleClose">关闭</el-button><el-button @click="saveFun" type="primary">保存</el-button></div></el-dialog></div>
</template>
变量 和 函数
<script>
// 引入api
import {api,
} from "@/api/api.js";// 引入验证规则
import {validateNumInEight2,
} from "@/tools/Validate.js";export default {props: {dialogVisible: {type: Boolean,default: false},editdata: {type: Object,default: function () {return {}}}},data() {return {// 弹窗标题title: "算法编辑",// 绑定数据form: null,// 验证规则rules: {aaaa: [{ required: true, message: "xxxx1", trigger: "blur" },{ validator: validateNumInEight2, trigger: "blur" },],bbbb: [{ required: true, message: "xxxx2", trigger: "blur" },],},// 下拉框recogTypeArr: [{value: 'value1',label: 'label1'},{value: 'value2',label: 'label2'}],}},created() {this.form = _.cloneDeep(this.editdata); // 防止修改,改变父界面数据},methods: {// 关闭弹窗handleClose() {this.$emit("closeEvent", false);},closeDialog() {this.$refs.dialogBox.resetFields();},// 编辑保存saveFun() {// apiapi({}).then(res => {if (res.status == '200') {// 第一种this.$emit("closeEvent", true);// 第二种 --》 性能更好this.$emit("closeEvent", true, this.form);} else {this.$message({showClose: true,message: res.msg,type: 'error'});}}).catch(err => {console.log(err);})}}
}
</script>
相关文章:
elementui 的 dialog 常用逻辑总结
菜鸟最近写后台管理系统,发现不管是弹窗、还是编辑、查看、添加等功能,真的代码都差不多,但是每次都要重新写里面的关闭逻辑等,菜鸟就感觉不如搞一个模版,后面只关注于逻辑,其他都直接来这里复制了…...
ip网络广播系统网络音频解码终端公共广播SV-7101
SV-7101V网络音频终端产品简介 网络广播终端SV-7101V,接收网络音频流,实时解码播放。本设备只有网络广播功能,是一款简单的网络广播终端。提供一路线路输出接功放或有源音箱。 产品特点 ■ 提供固件网络远程升级■ 标准RJ45网络接口&…...
【Winform学习笔记(七)】Winform无边框窗体拖动功能
Winform无边框窗体拖动功能 前言正文1、设置无边框模式2、无边框窗体拖动方法1、通过Panel控件实现窗体移动2、通过窗体事件实现窗体移动3、调用系统API实现窗体移动4、重写WndProc()实现窗体移动 前言 在本文中主要介绍 如何将窗体设置成无边框模式、以及实现无边框窗体拖动功…...
【Nginx】静态资源部署、反向代理、负载均衡
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ nginx静态资源部署、反向代理、负载均衡 &…...
二、框架篇
框架篇 Spring 1. 基础核心技术 第1章-Spring的模块与应用场景 第2章-Spring基于XML配置的容器 第3章-Spring基于注解配置的容器 第4章-Spring基于Java配置的容器 第5章-Spring三种配置方式的混合和迁移 第6章-Spring同类型多个Bean的注入 第7章-Spring的Bean生命周期…...
[LitCTF 2023]Http pro max plus
打开环境后提示说,只允许在本地访问,本地访问,还是想到了XFF字段 好家伙的,直接被嘲讽,还是了解太少了,都不知道还有没有其他方式可以控制ip地址信息 经过查看wp,得知一种新的方式 Client-IP …...
科技的成就(四十九)
381、机器人 Unimate 诞生 "1961 年,第一款工业机器人 Unimate 诞生。工程师恩格尔伯格受阿西莫夫小说《我,机器人》影响,与发明家德沃尔成立了 Unimation。1961 年,公司的第一台机器 人 Unimate 开始在通用电气新泽西工厂试…...
地理信息系统空间分析实验教程 第三版 第八章示例与练习 学校选址
学校选址 背景 合理的学校空间位置布局有利于学生的上课与生活。学校的选址问题需要考虑地理 E八位置、学生娱乐场所配套设施、与现有学校的距离等因素,从总体上把握这些国素能够确定出适宜性比较好的学校选址区 目的 通过练习,熟悉 ArcGIS 栅格数据…...
opencv35-形态学操作-腐蚀cv2.erode()
形态学,即数学形态学(Mathematical Morphology),是图像处理过程中一个非常重要的研 究方向。形态学主要从图像内提取分量信息,该分量信息通常对于表达和描绘图像的形状具有 重要意义,通常是图像理解时所使用…...
数据结构之栈和队列---c++
栈和队列的简单介绍 栈 栈是一个“先进后出”结构 队列 入队演示 队列是一种“先进先出”的结构 出队演示 接下来我们开始本次的内容 栈实现队列 分析 1.我们可以老老实实的写一个栈然后将所有的接口函数实现出来,最后再进行实现队列,但是显然…...
《网约车运营数据分析实战》学习笔记
这篇文章整理自 接地气的陈老师 x 和鲸社区 | 网约车运营分析 数据分析实战活动业务讲解会【接地气的陈老师】的讲解 活动介绍 假设你是某打车APP的商业数据分析师,为某大区提供日常数据报表。现在大区领导表示:希望你从日常数据监测中,发现…...
PostgreSQL常用函数
PostgreSQL常用函数 内置函数 PostgreSQL 内置函数也称为聚合函数,用于对字符串或数字数据执行处理。 下面是所有通用 PostgreSQL 内置函数的列表: COUNT 函数:用于计算数据库表中的行数。MAX 函数:用于查询某一特定列中最大值…...
决策树和随机森林对比
1.用accuracy来对比 # -*-coding:utf-8-*-""" accuracy来对比决策树和随机森林 """ from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_wine#(178, 13…...
CS 144 Lab Seven -- putting it all together
CS 144 Lab Seven -- putting it all together 引言测试lab7.ccUDPSocketNetworkInterfaceAdapterTCPSocketLab7main方法子线程 小结 对应课程视频: 【计算机网络】 斯坦福大学CS144课程 Lab Six 对应的PDF: Checkpoint 6: putting it all together 引言 本实验无需进行任何编…...
opencv基础-29 Otsu 处理(图像分割)
Otsu 处理 Otsu 处理是一种用于图像分割的方法,旨在自动找到一个阈值,将图像分成两个类别:前景和背景。这种方法最初由日本学者大津展之(Nobuyuki Otsu)在 1979 年提出 在 Otsu 处理中,我们通过最小化类别内…...
gcc-buildroot-9.3.0 和 gcc-arm-10.3 的区别
gcc-buildroot-9.3.0 和 gcc-arm-10.3 是两个不同的 GCC (GNU Compiler Collection) 版本,主要用于编译 C、C 和其他语言的程序。它们之间的区别主要体现在以下几个方面: 版本号:gcc-buildroot-9.3.0 对应的是 GCC 9.3.0 版本,而 …...
IDEA Run SpringBoot程序步骤原理
这个文章不是高深的原理文章,仅仅是接手一个外部提供的阉割版代码遇到过的一个坑,后来解决了,记录一下。 1、IDEA Run 一个SpringBoot一直失败,提示找不到类,但是maven install成功,并且java -jar能成功ru…...
海康威视摄像头配置RTSP协议访问、onvif协议接入、二次开发SDK接入
一、准备工作 (1)拿到摄像头之后,将摄像头电源线插好,再将网线插入到路由器上。 (2)将自己的笔记本电脑也连接到路由器网络,与摄像头出在同一个局域网。 二、配置摄像头 2.1 激活方式选择 第一次使用设备需要激活,在进行配置。 最简单,最方便的方式是选择浏览器激…...
Android中的Parcelable 接口
Android中的Parcelable 接口 在Android中,Parcelable接口是用于实现对象序列化和反序列化的一种机制。它允许我们将自定义的Java对象转换成一个可传输的二进制数据流,以便在不同组件之间传递数据。通常在Activity之间传递复杂的自定义对象时,…...
Docker-Compose编排与部署
目录 Docker Compose Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Docker Compose Docker Compose 的前身是 Fig,它是一个定义及运行多个 Dock…...
【MATLAB源码-第320期】基于matlab的混沌序列图像加密解密系统仿真,测试加解密速度、资源占用、模糊攻击测试、密钥空间和敏感性分析。
操作环境:MATLAB 2024a1、算法描述基于混沌序列的图像加密 与解密系统 随着数字信息技术的迅速发展,图像作为信息载体的使用越来越广泛。然而,图像数据在传输和存储过程中容易受到窃取、篡改或破坏,因此确保图像数据的安全性显得尤…...
3步打造个性化Windows任务栏:轻量级桌面美化工具TranslucentTB使用指南
3步打造个性化Windows任务栏:轻量级桌面美化工具TranslucentTB使用指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否…...
零信任实践:OpenClaw+SecGPT-14B构建个人安全决策引擎
零信任实践:OpenClawSecGPT-14B构建个人安全决策引擎 1. 为什么需要个人安全决策引擎 去年某个深夜,我的服务器突然收到大量异常登录尝试。虽然最终没有造成损失,但这件事让我意识到:传统的静态密码和固定权限规则,在…...
【算法精解】CEC2021竞赛亚军算法-MadDE框架及代码实现(Matlab)
本文核心内容: MadDE算法主要框架及该算法创新点 Matlab代码实现(可免费获取,包括代码及原文献) 不少同学改进算法有时缺乏可落地思路,或从文献获得灵感却苦于写不出代码。为此,KAU 推出【算法精解】…...
Real-Time-Person-Removal 终极性能指南:不同配置下的速度与精度对比
Real-Time-Person-Removal 终极性能指南:不同配置下的速度与精度对比 【免费下载链接】Real-Time-Person-Removal Removing people from complex backgrounds in real time using TensorFlow.js in the web browser 项目地址: https://gitcode.com/gh_mirrors/re/…...
别再花钱买模板了!用扣子(Coze)和剪映,5分钟搞定城市宣传视频(保姆级节点配置)
零成本打造城市宣传片:Coze剪映全流程实战指南 想象一下这样的场景:你刚接手一个本地文旅推广项目,预算只够买两杯咖啡,但甲方期待的是《航拍中国》级别的视觉大片。传统解决方案要么外包烧钱,要么自己熬夜学剪辑到崩溃…...
告别Navicat!免费开源的DBeaver,手把手教你从下载到连接MySQL数据库
数据库管理新选择:DBeaver从入门到精通实战指南 在数据库管理领域,商业软件长期占据主导地位,但开源工具的崛起正在改变这一格局。作为一名长期与数据库打交道的开发者,我深知Navicat等商业工具虽然功能强大,但高昂的授…...
fflate错误处理完全指南:如何优雅处理压缩异常
fflate错误处理完全指南:如何优雅处理压缩异常 【免费下载链接】fflate High performance (de)compression in an 8kB package 项目地址: https://gitcode.com/gh_mirrors/ff/fflate fflate是一个高性能的JavaScript压缩解压库,但在处理压缩数据时…...
Unity/Unreal开发者必看:用四元数彻底告别万向死锁,让你的3D角色旋转丝滑起来
Unity/Unreal开发者必看:用四元数彻底告别万向死锁,让你的3D角色旋转丝滑起来 在游戏开发中,角色的旋转控制是一个看似简单却暗藏玄机的技术点。许多开发者都遇到过这样的场景:当角色抬头到90度时,水平旋转突然变得诡异…...
Agent Skill 按需加载:架构设计与实现解析
❝当 AI Agent 需要的知识越来越多,把一切都塞进 System Prompt 显然不是个好主意。本文从架构设计的角度出发,深入探讨一种优雅的解法——「Skill 渐进式加载机制」。❞一、问题:当 Agent 需要"十八般武艺"构建一个功能丰富的 AI …...
