参数名 类型 说明
visible Boolean 是否显示,默认false
title String 标题
update:visible Boolean 更新visible, 使用:visible.sync实现动态绑定

Modal.vue

  1. <template>
  2. <transition name="fade">
  3. <div class="modal-wrap" v-if="visible">
  4. <div class="modal">
  5. <div class="hd">
  6. {{title}}
  7. <i class="btn-close iconfont icon-close" @click="close"></i>
  8. </div>
  9. <div class="bd">
  10. <slot name="content"></slot>
  11. </div>
  12. <slot name="ft">
  13. <!--<div class="ft" slot="ft">
  14. <a href="javscript:void(0)" class="btn make-sure" @click="sure">确定</a>
  15. <a href="javscript:void(0)" class="btn cancel" @click="close">取消</a>
  16. </div>-->
  17. </slot>
  18. </div>
  19. <div class="backdrop" @click="close"></div>
  20. </div>
  21. </transition>
  22. </template>
  23. <script>
  24. export default {
  25. name: "MyModal",
  26. props: {
  27. visible: {
  28. type: Boolean,
  29. default: false,
  30. required: true,
  31. },
  32. title: {
  33. type: String,
  34. default: '',
  35. }
  36. },
  37. watch:{
  38. visible:function(curVal) {
  39. if(curVal&&document.body.scrollHeight > window.innerHeight){
  40. $('body').addClass('backdrop-open')
  41. }else{
  42. $('body').removeClass('backdrop-open');
  43. }
  44. }
  45. },
  46. methods: {
  47. close() {
  48. this.$emit('update:visible', false)
  49. },
  50. }
  51. }
  52. </script>

index.js

  1. import Modal from './Modal.vue'
  2. Modal.install=function(Vue){
  3. Vue.component(Modal.name,Modal)
  4. }
  5. export default Modal

main.js

  1. import Modal from '@/components/common/modal'
  2. Vue.use(Modal)

页面调用

  1. <my-modal title="消息" :visible.sync="isVisible">
  2. <div slot="content">
  3. 内容
  4. </div>
  5. <div slot="ft" class="ft">
  6. <a class="btn btn-primary" @click="sure">确定</a>
  7. <a class="btn btn-default" @click="isVisible=false">取消</a>
  8. </div>
  9. </my-modal>

效果图:

vue 自定义modal 模态框组件的更多相关文章

  1. vue自定义下拉框组件

    创建下拉框组件 Select.vue <template> <div class="selects"> <div :class="{sele ...

  2. Vue 自定义全局消息框组件

    消息弹框组件,默认3秒后自动关闭,可设置info/success/warning/error类型 效果图: 文件目录: Message.vue <template> <transit ...

  3. react-native自定义Modal模态框|仿ios、微信弹窗RN版

    前序 纵观每个优质项目,无论web端还是native原生应用开发,弹窗都是不可忽视的一环,能很大程度上直接决定用户体验.如:微信.支付宝.ios都有很成熟的一套弹窗UI展示场景. 最近一直沉迷在rea ...

  4. 用vue实现模态框组件

    基本上每个项目都需要用到模态框组件,由于在最近的项目中,alert组件和confirm是两套完全不一样的设计,所以我将他们分成了两个组件,本文主要讨论的是confirm组件的实现. 组件结构 < ...

  5. Angular2+之模态框-使用ngx-bootstrap包中的模态框组件实现

    模态框是项目中经常会用到的一个公共功能,通常会被用左提示框或者扩展选项框. 下面,我用一个小例子来简单展示实现模态框功能的过程: 1.为项目加包: ng add ngx-bootstrap 2.在xx ...

  6. Combo( 自定义下拉框) 组件

    本节课重点了解 EasyUI 中 Combo(自定义下拉框)组件的使用方法,这个组件依赖于ValidateBox(验证框)组件 一. 加载方式自定义下拉框不能通过标签的方式进行创建.<input ...

  7. 轻量级Modal模态框插件cta.js

    今天给大家分享一款轻量级Modal模态框插件cta.js.这是一款无需使用jQuery插件,纯js编写的模态框弹出特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <se ...

  8. 第二百一十二节,jQuery EasyUI,Combo(自定义下拉框)组件

    jQuery EasyUI,Combo(自定义下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Combo(自定义下拉框)组件的使用方 ...

  9. 【bootstrap】modal模态框的几种打开方法+问题集锦

    第一部分: 关于bootstrap中modal的使用,下面把几种自己用的打开方法展示出来 首先呢,得有个Bootstrap的页面,这里就不说了. 其次呢,得有个modal放在页面中,不管你这段代码加在 ...

随机推荐

  1. XML结构,写到TreeView树上

    http://blog.csdn.net/ztzi321/article/details/44077563

  2. sql中 where语句的用法

    //查询user_id 10到20 之间  30到40之间 //查询user_id 不在10到20之间的

  3. BZOJ 4430 Guessing Camels

    Description Jaap, Jan, and Thijs are on a trip to the desert after having attended the ACM ICPC Worl ...

  4. Linux Cgroups

    目录 Linux Cgroups Cgroups中的三个组件 三个组件的关系 Kernel接口 Docker是如何使用Cgroups的 Go语言实现Cgroups限制容器资源 Linux Cgroup ...

  5. vue 常用ui组件库

    vux github ui demo:https://github.com/airyland/vux Mint UI 项目主页:http://mint-ui.github.io/#!/zh-cn de ...

  6. win7中下mysql-5.6.22免安装配置

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  7. C#变量的作用域

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 79.QT解决迷宫问题(面向过程与面向对象)

    面向过程: 创建一个类继承dialog,mydialog,添加两个变量 #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog>&g ...

  9. js全局的解析与执行过程

    先看下面实例的执行结果: alert(a);//undefined alert(b);//报错 alert(f);//输出f函数字符串 alert(g);//undefined var a = 1; ...

  10. Android 实现QQ、微信、新浪微博和百度第三方登录

    前言: 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于第三方登录的实现,并拿出来与大家一同分享: 各大开放平台注册账户获取AppK ...