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

Modal.vue

<template>
<transition name="fade">
<div class="modal-wrap" v-if="visible">
<div class="modal">
<div class="hd">
{{title}}
<i class="btn-close iconfont icon-close" @click="close"></i>
</div>
<div class="bd">
<slot name="content"></slot>
</div>
<slot name="ft">
<!--<div class="ft" slot="ft">
<a href="javscript:void(0)" class="btn make-sure" @click="sure">确定</a>
<a href="javscript:void(0)" class="btn cancel" @click="close">取消</a>
</div>-->
</slot>
</div>
<div class="backdrop" @click="close"></div>
</div>
</transition>
</template> <script>
export default {
name: "MyModal",
props: {
visible: {
type: Boolean,
default: false,
required: true,
},
title: {
type: String,
default: '',
}
},
watch:{
visible:function(curVal) {
if(curVal&&document.body.scrollHeight > window.innerHeight){
$('body').addClass('backdrop-open')
}else{
$('body').removeClass('backdrop-open');
}
}
},
methods: {
close() {
this.$emit('update:visible', false)
},
}
}
</script>

index.js

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

main.js

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

页面调用

<my-modal title="消息" :visible.sync="isVisible">
<div slot="content">
内容
</div>
<div slot="ft" class="ft">
<a class="btn btn-primary" @click="sure">确定</a>
<a class="btn btn-default" @click="isVisible=false">取消</a>
</div>
</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. 【Linux下安装配置Jupyter】

    """ 第一步 安装 """ pip3 install -i https://pypi.douban.com/simple jupyter ...

  2. 使用 HTML5 canvas制作拾色器

    自制的拾色器漂亮吧,哈哈 废话不多说直接上代码,希望可以帮到需要的朋友 <html><head>    <style>        .canvas_color{p ...

  3. flex RemoteObject 的两种使用方法

    这里使用的是django1.6 和 postgreSQL9.0  FlashBuilder4.5 django方面就不说了,根据文档来做,建好模块,配置好数据库等等 创建 gateway 和 time ...

  4. FZU 1096 QS Network

    QS Network Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original ID: ...

  5. BZOJ——1012: [JSOI2008]最大数maxnumber || 洛谷—— P1198 [JSOI2008]最大数

    http://www.lydsy.com/JudgeOnline/problem.php?id=1012|| https://www.luogu.org/problem/show?pid=1198 T ...

  6. swift 编译提前定义 --不知道怎么定义,可是能够#if

    var v:Int; #if _COND//不知道怎么定义.可是能够#if v = ; #else ; #endif println(v);//2

  7. JavaScript定时调用函数(SetInterval与setTimeout)

    setTimeout和setInterval的语法同样.它们都有两个參数.一个是将要运行的代码字符串.另一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将运行那段代码. 只是这两个函数还是有差别的 ...

  8. findFocus-获得拥有焦点的控件

    所有的view控件有一个findFocus方法,这个方法如下 /** * Find the view in the hierarchy rooted at this view that current ...

  9. Android圆形图片不求人,自定义View实现(BitmapShader使用)

    在很多APP当中,圆形的图片是必不可少的元素,美观大方.本文将带领读者去实现一个圆形图片自定View,力求只用一个Java类来完成这件事情. 一.先上效果图 二.实现思路 在定义View 的onMea ...

  10. 码农Coding Peasant(s):一般指从事没有发展前景的软件开发职位

    码农Coding Peasant(s):一般指从事没有发展前景的软件开发职位,这种职位只能强化职业者在单方面的技术领域技能,学不到新技术,同时也是部分从事软件开发工作人员的一个自嘲的称号.一个依靠写代 ...