Vue2全局封装modal弹框

news2025/1/16 17:52:14

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
            }
        
         }
    },

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker Hub注册及上传自定义镜像

说明&#xff1a;本文介绍如何注册Docker Hub&#xff0c;及将自己自定义镜像上传到Docker Hub上&#xff1b; 注册Docker Hub 浏览器输入&#xff1a;http://hub.docker.com/&#xff0c;进入Docker Hub官网 注&#xff1a;如果无法访问&#xff0c;可在GitHub上下载一个Ste…

PPT大珩助手新功能-生成迷宫

大珩助手是一款功能丰富的办公软件插件&#xff0c;它主要分为两个版本&#xff1a;PPT大珩助手和Word大珩助手。这两个版本都旨在提高用户在处理演示文稿和文档时的效率。 PPT大珩助手 这是一款专门为Microsoft PowerPoint设计的插件。它提供了多种功能&#xff0c;例如素材…

Outlook 开启smtp配置

微软 Outlook 邮箱各种服务详细信息 服务类型服务器地址端口加密方法POPoutlook.office365.com995TLSIMAPoutlook.office365.com993TLSSMTPsmtp.office365.com587STARTTLS 然而仅仅有以上信息还不够&#xff0c;需要获取服务密码 (授权码) 才能够使用 POP, IMAP, SMTP 这三种…

面了一个程序员,因为6休1拒绝了我

人一辈子赖以生存下去的主要就考虑三件事&#xff0c;职业&#xff0c;事业&#xff0c;副业&#xff0c;有其1-2都是很不错的。如果还没到40岁&#xff0c;那不妨提前想下自己可能遇到的一些情况&#xff0c;提前做一些准备&#xff0c;未雨绸缪些。 今年整体就业大环境也一般…

SpringIOC和DI注解开发

xml配置 注解方式 6个注解&#xff1a; IOC用于对象创建&#xff1a; Controller 控制层 Service 业务层 Repository 持久层 Conponent 普通组件对象的创建 DI用于依赖注入&#xff1a; Autowired //默认按照类型 配合Qualifier使用 Qualifier //指定…

java文档管理系统的设计与实现源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的文档管理系统的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 文档管理系统的…

十年了。网络连接又中断了,原来是因为...

爷青回&#xff01; 90 后的朋友应该都是玩过或听说过 DNF 这个游戏&#xff0c;反正这个有是伴随着我的整个童年时光&#xff0c;当年放学就跑去上网&#xff0c;就为了刷疲劳、爆装备&#xff0c;”挥霍“了大把时光。最近他出手游了。 很早就看到过广告&#xff0c;感觉就…

VMware-计算超分解释

一、如图 二、官网解释 虚拟机CPU或内存 消耗&#xff08;Consumed&#xff09;&#xff1a;表示虚拟机实际使用的资源量。这包括CPU、内存、磁盘等资源的实际使用量。消耗量是实际分配给虚拟机的资源数量&#xff0c;而不仅仅是它们被配置的数量。 活动&#xff08;Active&…

无网环境禁止 WPS 提示登录,且基本功能按钮可用

目前 WPS 升级后&#xff0c;每次打开都会提示你登录 WPS&#xff0c;并且在未登录之前所有基本功能按钮是置灰状态&#xff0c;无法使用。 如此一来&#xff0c;在内网或无网环境&#xff0c;我们无法登陆 WPS &#xff0c;就给我们的使用带来了极大的不便&#xff0c;那么有没…

C++ sort排序的总和应用题

第1题 sort排序1 时限&#xff1a;1s 空间&#xff1a;256m 输入n个数&#xff0c;将这n个数从小到大排序&#xff0c;输出。 输入格式 第1行&#xff0c;一个正整数n&#xff08;n<100&#xff09; 第2行&#xff0c;n个正整数&#xff0c;小于100 输出格式 n个整…

前端 CSS 经典:弧形边框选项卡

1. 效果图 2. 开始 准备一个元素&#xff0c;将元素左上角&#xff0c;右上角设为圆角。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, i…

反射获取或修改对象属性的值

利用反射既可以获取也可以写入,首先咱们先写几个获取的例子。 一:利用反射修改各数据(利用resultField.set修改) 首先定义实体类 public class Dog {private String dogUser;private int age;把DogUser的"hahaha"改为"geggegegege" Dog dog = new Do…

全网最全面的由浅到深的Kotlin基础教程(七)

前言 本篇文章接着上一篇文章全网最全面的由浅到深的Kotlin基础教程&#xff08;六&#xff09;继续进阶学习kotlin&#xff0c;建议看完上一篇文章&#xff0c;再来看本篇文章。本篇主要分析一些常用的kotlin函数源码&#xff0c;以及用kotlin简单实现Rxjava的几个操作符。坚…

Advanced Installer 使用教程-自定义操作(中)

1、自定义操作的三种分类形式&#xff1a;控制台程序、控制台修改成的窗口程序、对话框程序 2、控制台程序 1&#xff09; 2&#xff09;传参 a、修改main函数 b、在命令行输入AI中的属性变量&#xff0c;注意执行时间的选择 c、如果需要输入多个命令行参数以空格隔开 d、如…

LLMPerf-为LLM提供可重现的性能指标

LLMPerf-为LLM推理提供可复现的性能指标 翻译自文章&#xff1a;Reproducible Performance Metrics for LLM inference 结合之前的LLMPerf测试大模型API性能的文章进行查看&#xff0c;效果更佳。 1. 摘要 我们见过许多关于LLM性能的声明&#xff1b;然而&#xff0c;这些声明往…

Qt_电脑wifi相关操作

项目描述: 在做项目时用到了获取wifi的操作。在网上查找了好久资料,这里做一些总结。 这里有显示当前电脑wifi连接状态,列出wifi列表,连接断开wifi等函数。欢迎大家留言添加文章内容。 使用范围: windows电脑(中文的环境) 使用技术:windows的cmd命令。和对字符串的解析…

MPLS VPN

不是公司的产品&#xff0c;是运营商对外提供的一种服务 没咋懂&#xff0c;oh my god

【Vue3】封装axios请求(cli和vite)

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 Vue 【Vue3】env环境变量的配置和使用&#xff08;区分cli和vite&#xff09; 文章目录 Vue前言一、常见用法二、vue3cli封装接口1..env配置2..dev(开…

51建模网AR虚拟试用,让网购不再只靠想象!

在数字化的浪潮中&#xff0c;网购已成为现代人生活的一部分。然而&#xff0c;传统的网购模式常常因为无法直接试穿、试用商品&#xff0c;导致买家在收到商品后感到失望&#xff0c;特别是面对大件家居产品时&#xff0c;仅凭屏幕上的图片和尺寸描述&#xff0c;很难准确地把…

民国漫画杂志《时代漫画》第17期.PDF

时代漫画17.PDF: https://url03.ctfile.com/f/1779803-1248612629-85326d?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了&#xff0c;截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络&#xff01;