定义模态框:合理使用插槽

model.vue

<!-- 模态弹窗 -->
<template>
<div class="self-modal" v-show='showModal' @click="cancelClick" v-bind:style="styleObj" @touchmove.stop.prevent>
<!-- 自定义内容 -->
<slot></slot>
</div>
</template>
<script>
export default {
name: 'selfModal',
data () {
return {
showModal: false
}
},
props: {
styleObj: { // 用于承接样式类
type: Object,
default: function () {
return {
position: 'fixed',
bottom: 0,
top: 0,
left: 0,
width: '100%',
background: 'rgba(113,111,111,0.5)'
}
}
}
},
methods: {
// 确定
sureClick () {
this.showModal = true
return new Promise(function (resolve) {
resolve('sure')
}, function (reject) {})
},
// 取消
cancelClick () {
this.showModal = false
return new Promise(function (resolve) {
resolve('cancel')
}, function (reject) {})
}
}
}
</script>
<style scoped lang='scss'>
.self-modal{
z-index: 3000;
}
</style>

正确的使用方式:

import selfModal from '@/base/selfModal/modal'

<selfModal ref="incomeSelect" :styleObj="styleObj">
<div class="career-content" @click.prevent.stop>
<div class="mark-title">
请选择年收入
</div>
<div class="mark-wrapper" @click.stop="getIncome('1')">
<p class="nav-mark no-sub-mark">小于10万</p>
</div>
<div class="mark-wrapper" @click.stop="getIncome('2')">
<p class="nav-mark no-sub-mark">10万-30万</p>
</div>
<div class="mark-wrapper " @click.stop="getIncome('3')">
<p class="nav-mark no-sub-mark">大于30万</p>
</div>
<div class="mark-wrapper no-border-bottom">
<p class="btn-mark" @click.stop="getIncome()">取消</p>
</div>
</div>
</selfModal>
 
data () {
styleObj: {
position: 'fixed',
bottom: 0,
top: 0,
left: 0,
background: 'rgba(113, 111, 111, 0.5)',
width: '100%'
},
}
methods () {
  

selectIncome () {
  this.$refs.incomeSelect.showModal = true
}

使用插槽,实现弹框内容自定义,样式自定义,  

vue2.0实现一个模态弹框,内容自定义(使用slot)的更多相关文章

  1. 简单实现弹出弹框页面背景半透明灰,弹框内容可滚动原页面内容不可滚动的效果(JQuery)

    弹出弹框 效果展示 实现原理 html结构比较简单,即: <div>遮罩层 <div>弹框</div> </div> 先写覆盖显示窗口的遮罩层div.b ...

  2. 基于vue2.0的一个豆瓣电影App

    1.搭建项目框架 使用vue-cli 没安装的需要先安装 npm intall -g vue-cli 使用vue-cli生成项目框架 vue init webpack-simple vue-movie ...

  3. vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解

    最近在公司项目中使用vue2.0做开发,在使用checkbox时遇到了一些问题,首先我们先了解一下需求. 如上如所示,在上方复选框被点击时,更改下方p标签的文本内容为:复选框已被选中.并将p标签文字颜 ...

  4. jquery EsayUi 里一个小弹框

    网站后台大多的数据展示就都用和此插件有着密切的关系: 来用一下这个小弹框吧: 一个Html里面的代码 <link rel='stylesheet' type='text/css' href='c ...

  5. Vue1.x 到Vue2.0的一个变化

    小弟初来乍到,写的不好的地方还望指正.谢谢各位! 废话不多说  进入正题: Vue1.x到2.0的一个变化 1. 在每个组件模板,不在支持片段代码  组件中模板: 之前:     <templa ...

  6. layer插件学习——弹框(自定义页)

    本文是自己整理的关于layer插件的弹框样式结果 介绍: 官方介绍:layer至今仍作为layui的代表作,受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自 ...

  7. html、css和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果

    模态框: html部分: <!-- 按钮 --> <button id="box" onclick="pop_box()">弹出框< ...

  8. 分享一个Web弹框类

    using System; using System.Text; namespace Core { /// <summary> /// MessageBox 的摘要说明. /// < ...

  9. 基于vue2.0的一个系统

    前言 这是一个用vue做的单页面管理系统,这里只是介绍架子搭建思路 前端架构 沿用Vue全家桶系列开发,主要技术栈:vue2.x+vue-router+vuex+element-ui1.x+axios ...

随机推荐

  1. Linux学习笔记之Linux计划任务Crontab

    0x00 cron 简介 cron 是 UNIX, SOLARIS,LINUX 下的一个十分有用的工具.通过 cron 脚本能使计划任务定期地在系统后台自动运行. 0x01 cron 命令 cront ...

  2. 20145221 《Java程序设计》第三周学习总结

    20145221 <Java程序设计>第三周学习总结 教材学习内容总结 第四章部分已在假期完成,详见博客: <Java程序设计>第四章-认识对象 第五章部分 何谓封装 封装实际 ...

  3. VS+SVN版本控制

    1.下载VisualSVN工具并安装 https://www.visualsvn.com/visualsvn/download/ 2.将代码传到svn服务器中 3.查看项目svn地址,直接项目右键属性 ...

  4. CSU 1968 Permutation Descent Counts

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1968 题意:对于任一种N的排列A,定义它的E值为序列中满足A[i]>A[i+1]的数的个 ...

  5. 添加 LogCat 到Eclipse

    当你第一次在 Eclipse 中运行 Android 项目的时候,Eclipse 会提醒你一次是否要添加 LogCat 这个工具. 如果你现在还没有添加上的话,我这里教你一下如何手动添加 LogCat ...

  6. CSS之旋转立方体

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. JSP 日期处理

    JSP 日期处理 使用JSP最重要的优势之一,就是可以使用所有Java API.本章将会详细地讲述Java中的Date类,它在java.util包下,封装了当前日期和时间. Date类有两个构造函数. ...

  8. Docker和k8s的区别与介绍

    本文来源:鲜枣课堂 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司. 这家公司主要提供基于PaaS的云计算技术服务.具体来说,是和LXC有关的容器技术. LXC, ...

  9. zoj-3329-期望/dp/方程优化

    One Person Game Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge There is a very ...

  10. 124. Binary Tree Maximum Path Sum *HARD* -- 二叉树中节点和最大的路径的节点和

    Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence ...