Vue2全局封装modal弹框

Vue2全局封装modal弹框使用:

一.components下封装

1.index.js

import ModalCheck from './modal-check.vue'
export default ModalCheck

2.modal-check.vue

<template>
  <div>
    <Modal
      v-model="selSingleShow"
      :title="editTitle+'('+convertCarrier(editType)+')'"
      :mask-closable="false"
      :width="960"
      footer-hide
      id="checkboxInSelModal"
      @on-visible-change="visibleChange"
    >
      <Icon
        slot="close"
        custom="iconfont icon-Shape"
        size="20"
        class="modal-close"
      />
    
      <Row type="flex" justify="center">
       <div class="config-item marginTop-10">
        <CheckboxGroup v-model="selectNameArray"  style="padding:18px 20px" >
				<Checkbox
				  v-for="(item, index) in allNameList"
				  :key="'blackName-' + index"
				  :label="`${item.id}`">
          <span v-else>{{ item.groupName }}</span>
        </Checkbox>
		     </CheckboxGroup>
		</div>
      </Row>
      <Row>
      <div class="modal-action">
          <Button type="primary" @click="sureAdd()">确定</Button>
          <Button type="primary"
           @click="cancleAdd()">取消</Button>
        </div>
      </Row>
   </Modal>
  </div>
</template>
<script>
import Common from "@/components/common.vue";
export default {
  mixins: [Common],
  props: {
    selSingle: {
      type: Boolean,
      default: false,
    },
    editTitle: {
      type: String,
      default: "",
    },
    editType: {
      type: String,
      default: "",
    },
    selectBlackNameList: {
      type: Array,
      default: function () {
        return [];
      },
    },
    selectNameList: {
      type: Array,
      default: function () {
        return [];
      },
    },
    allNameList: {
      type: Array,
      default: function () {
        return [];
      },
    },
    
  },
  watch: {
    updatePage: function () {
      this.initData();
    },
  },
  data() {
    return {
      selectNameArray:[],
      containList:[],
      selSingleShow:false,
    };
  },
  methods: {
    sureAdd(){
      this.selSingleShow=false;
      this.updateNameChange(this.selectNameArray);
      this.updateSingle();
    },
    cancleAdd(){
      this.selSingleShow=false;
      this.updateSingle();
    },
    updateSingle() {
      this.$emit("updateSingle",this.selSingleShow);
    },
    updateNameChange(data) {
      this.$emit("sureAddName",{data:this.selectNameArray,type:this.$props.editType,editTitle:this.$props.editTitle});
    },
    visibleChange(state) {
      if (!state) {
        this.updateSingle();
      }
    },
  },
  created() {
    if(this.$props!=undefined){
      this.selSingleShow=this.$props.selSingle;
      this.selectNameArray=this.$props.selectNameList;
    }
  },
};
</script>

<style scoped>

</style>

二.页面引入使用

1.引入

import ModalCheck from "_c/modal-check";
export default {
  components: {
    ModalCheck,
  },
  data() { 
        selSingleShow:false,
        editTitle:"",
        editType:"",
        addNameList: [],
        allNameList: [],
   }
   
 },

2.使用

    <modal-check 
      :selSingle="selSingleShow"
	  :editTitle="editTitle"
      :editType="editType"
      :selectNameList="addNameList"
	 :allNameList="allNameList"
	  @sureAddName="updateNameList"
      @updateSingle="updateSingShow">
    </modal-check>

3.关闭弹框

    updateSingShow(){
      this.selSingleShow=false;
    },

4.更新数据

 updateNameList(data){
        if(data.editTitle=='XX'){
            let arr=data.data
            if(data.type=='x'){
               //do
            }
            if(data.type=='y'){
               //do
            }
        
         }
    },

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树遍历操作详解

目录 一、思路详解 1.1 递归思路 1.2 递归分支图 1.3 递归栈帧图 二、C语言实现 2.1 前序遍历 2.2 中序遍历 2.3 后序遍历 三、查找值为x的结点 3.1 递归思路 3.2 C语言代码 一、思路详解 采用递归的思想解决问题&#xff0c;以高度为3的满二叉树为例。 1.1 递归思…

FBB-Frontiers in Bioengineering and Biotechnology

文章目录 一、期刊简介二、征稿信息三、期刊表现四、投稿须知五、投稿咨询 一、期刊简介 Frontiers in Bioengineering and Biotechnology是专注生物工程和生物技术领域的开放获取期刊。 研究范围涵盖生物材料、生物力学、生物工艺工程、生物安全和生物安保&#xff0c;生物传…

Power BI实现动态度量值

假设有一张销售数据表Sale: 报表上有一个切片器(Slicer)(下拉框样式)&#xff0c; 当选择"第一"时&#xff0c;计算列[FirstSale]与列[Target]的百分比&#xff0c; 选择"第二"时&#xff0c;计算列[SecondSale]与列[Target]的百分比 选择"第三&qu…

Gradle和Maven项目解决Spring Boot Configuration Annotation Processor not configured警告

问题描述 写了一个配置类,加了注解@ConfigurationProperties(prefix = “xxx”) 后一直报警告:Spring Boot Configuration Annotation Processor not configured 意思是 Spring boot 未配置注解处理器 解决过程 出现这个问题后,百度查了解决方式 1.maven项目 maven项目是…

微服务:Ribbon负载均衡与加载时机修改

Ribbon 负载均衡 执行流程 负载均衡策略 调整负载均衡方案&#xff1a; 配置类中&#xff08;全局&#xff09;&#xff1a; // 负载均衡策略Beanpublic IRule randomRule() {return new RandomRule();}yaml配置 userservice: # 给某个微服务配置负载均衡规则&#xff…

第2.6讲 GPIO之MIO控制LED实验程序设计 36:24

对gpio操作 vivado2019.2 vitis 下载【2_领航者ZYNQ之嵌入式SDK开发指南_V2.0】文档 正点原子视频添加链接描述 读取的xsa文件是vivado生成的wrapper&#xff0c;每次生成的都不一样 然后新建一个application ![ ](https://img-blog.csdnimg.cn/direct/4e8c29fc2aff42a6a8…

202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生

202472读书笔记|《首先你要快乐&#xff0c;其次都是其次》——快乐至上&#xff0c;允许一切发生 《首先你要快乐&#xff0c;其次都是其次》作者林小仙&#xff0c;挺轻松的小漫画&#xff0c;清新的文字。 生而为人&#xff0c;我很抱歉&#xff0c;大可不必。 生活已经很难…

深度学习之基于Pytorch框架的卷积神经网络图像去雨系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在图像处理领域&#xff0c;图像去雨技术一直是一个热门的研究方向。随着深度学习技术的快速发展&am…

使用echarts配置中国地图

使用echarts配置中国地图 首先要下载地图的geoJSON数据&#xff0c;有两个方式下载&#xff0c;一种是去echarts的github资源文件里面&#xff0c;一种是去阿里云的datav网站。 1.1 echarts文档下载中国地图json数据 1.2 阿里云datav 新建项目&#xff0c;新建index.html,下…

【免费】支持向量机回归预测(SVR)的MATLAB实现(含源代码)

支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种常用于分类和回归分析的机器学习算法。虽然SVM最为人熟知的是其分类应用&#xff0c;但它同样适用于回归任务&#xff0c;被称为支持向量回归&#xff08;Support Vector Regression, SVR&#xff09;。以…

项目启动失败,【consul】

如题&#xff0c;启动时项目未能正常启动&#xff0c;但上次都一切正常&#xff0c;日志提示&#xff1a; Consul service ids must not be empty, must start with a letter 经过排查是因为consul的consulconfigservice服务假死&#xff0c;导致无法正常获取到配置文件&am…

用Python的PyAutoGUI库控制鼠标滚轮

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 轻松上手&#xff1a;安装与导入 要开始使用pyautogui库&#xff0c;你需要做的第一件事就是确保它已经被安装在你的Python环境中。你可以通过运行以下命令来安装&#xff1a; pip install pyautogui安装完成后&am…

当代人工智能三教父——深度学习三巨头

文章目录 引言 人物介绍 突出贡献 专业名词解释 引言 今天下午闲来无事翻阅了一下csdn首页的头条文章——《27 岁天才创始人 Joel Hellermark 分享了自己和“AI 教父” Geoffery Hinton 的最新采访》 感觉挺有意思&#xff0c;就从头到尾的看了一遍&#xff0c;里面有很多…

说一说@Transactional

添加Transactional注解后&#xff0c;Spring会将每个方法执行封装为AOP的执行过程&#xff0c;每次执行到注解的方法时&#xff0c;会判断是否需要开启事务&#xff0c;如果事务创建成功&#xff0c;则执行业务逻辑&#xff0c;业务逻辑执行完成后&#xff0c;提交事务或异常后…

园区网的基本了解

园区网使用的典型技术---IEEE802.3标准/IEEE802.11标准 封闭式园区网络 ---由内部人员使用&#xff0c;不能访问互联网。 ---制订各式各样的规章制度 ---NAC&#xff0c;网络接入控制 开放式园区网络 ---服务于公众的&#xff0c;认证 园区网的发展 第一代&#xff1a;…

spring cloud gateway一些相关概念

在云架构中运行着众多客户端和服务端&#xff0c;API网关的存在提供了保护和路由消息&#xff0c;隐藏服务&#xff0c;限制负载等等功能。下图是spring cloud gateway所处的位置。 它有三大概念&#xff1a; 路由&#xff1a;路由是构建网关的基本模块&#xff0c;它由ID&…

C++第三方库【JSON】— jsoncpp

目录 认识JSON jsoncpp库 安装&使用 认识jsoncpp Json::Value jsoncpp序列化 jsoncpp反序列化 认识JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据&#xff0c;常用于在客户端和服…

使用RAG和文本转语音功能,我构建了一个 QA 问答机器人

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

S1C17M02/M03专为数字万用表设计

在电子及自动化领域&#xff0c;精确的测量数据是至关重要的环节。无论是在生产线的质量控制实验室的研究测试还是复杂电子系统的故障诊断&#xff0c;数字万用表都是一种不可或缺的工具,随着技术的进步&#xff0c;对测量参数、精度的要求越来越高&#xff0c;同时对设备的体积…

精准安全运维,统信UOS服务器版V20(1070)漏洞修复指南丨年度更新

随着信息安全威胁的不断升级&#xff0c;操作系统的安全性已成为企业运维的关键要素。 为了确保业务运行环境的安全无忧&#xff0c;统信软件持续致力于技术创新和优化&#xff0c;并于日前重磅推出了统信UOS服务器版V20&#xff08;1070&#xff09;。该系统提供了高频补丁更…