VUE点击弹出蒙版实现步骤

项目需求:

1.点击一个事件时弹出一个蒙版;

2.蒙版上有取消,删除事件;(点击取消时候蒙版消失,点击删除时,删除蒙版并消失);

3.点击空白地方,蒙版也消失;

先附上实现效果;

图1:

图2:

代码:首先我这里是两个组件;蒙版是一个;列表是一个;其余的地方都可能用到。

列表代码:

<template>

<div class="waitPay">

<div class="logo">

<span></span>

<span>保单号{{accidentData.orderId}}</span>

<span @click="isdele">删除</span>

</div>

<div class="carInfo">

<div class="text">

<p>{{accidentData.orderMemberName}}</p>

<p>投保人:{{accidentData.policyHolder}} </p>

<p>被保人: {{accidentData.protectHolder}} </p>

<p>

结算日期:{{accidentData.orderMemberName}}

</p>

</div>

<div class="item-img">

<img :src="orderStatus" >

</div>

</div>

<div class="item">

<p>

<span>保费 :{{accidentData.amount}}</span>

<span>推广费 : 271.1</span>

</p>

<p v-show="isState">

<span>

重新投保

</span>

<span>

付款

</span>

</p>

</div>

<IsDeleMask v-show="show" @isShow="isShow" />

</div>

</template>

<script>

import IsDeleMask from "@/components/IsDeleMask.vue"; // 是否删除

export default {

props: ["accidentData"],

components: {

IsDeleMask

},

data(){

return{

show:false,

}

},

computed: {

orderStatus() {

let obj = {

"10000531": require("@/assets/img/yi_chu_dan.png"), // 已出单

"10000532": require("@/assets/img/daizhifu.png"), // 待支付

"10000533": require("@/assets/img/tui-dan.jpg") // 退单

};

return obj[this.accidentData.orderStatus];

},

isState() {

let obj = {

"10000531": false, // 已出单

"10000532": true, // 未出单

"10000533": false // 退单

};

return obj[this.accidentData.orderStatus];

}

},

methods: {

isdele() {

this.show = true;

},

isShow() {

this.show = false;

}

}

};

</script>

<style lang="scss" scoped>

.waitPay {

width: 94.67%;

max-height: 4.6rem;

background-color: #fff;

margin: auto;

margin-bottom: 0.2rem;

border: 0.18rem;

> .logo {

width: 100%;

height: 0.7rem;

// background: green;

display: flex;

align-items: center;

border-bottom: 0.012rem solid #f2f2f2;

> span:nth-child(1) {

color: #f76c41;

font-weight: bold;

font-size: 0.28rem;

margin-left: 8%;

}

> span:nth-child(2) {

color: #6a6a6a;

font-size: 0.22rem;

margin-left: 8%;

margin-right: 10%;

}

> span:nth-child(3) {

text-align: right;

color: #333333;

font-size: 0.22rem;

font-weight: bold;

}

}

> .carInfo {

width: 100%;

height: 2.32rem;

// background: red;

display: flex;

border-bottom: 0.012rem solid #f2f2f2;

.text {

padding-left: 0.3rem;

width: 73.33%;

// background: yellow;

height: 2.32rem;

box-sizing: border-box;

> p {

font-size: 0.26rem;

color: #6a6a6a;

// font-weight: bold;

line-height: 0.46rem;

}

> p:nth-child(1) {

padding-top: 0.25rem;

color: #333333;

font-size: 0.3rem;

font-weight: bold;

}

}

> .item-img {

width: 26.67%;

display: flex;

margin-bottom: 0.61rem;

margin-top: 0.4rem;

justify-content: center;

> img {

width: 1.3rem;

height: 1.3rem;

align-items: center;

}

}

}

> .item {

width: 100%;

max-height: 1.58rem;

// background: green;

> p:nth-child(1) {

width: 100%;

height: 0.69rem;

display: flex;

justify-content: space-between;

align-items: center;

> span {

font-size: 0.24rem;

color: #f76c41;

font-weight: bold;

}

> span:nth-child(1) {

padding-left: 0.3rem;

}

> span:nth-child(2) {

padding-right: 0.3rem;

}

}

> p:nth-child(2) {

width: 100%;

height: 0.89rem;

> span {

width: 2rem;

height: 0.7rem;

display: inline-block;

text-align: center;

line-height: 0.7rem;

font-size: 0.26rem;

}

> span:nth-child(1) {

border: 0.012rem solid #6a6a6a;

color: #6a6a6a;

margin-left: 30.9%;

margin-right: 6.5%;

}

> span:nth-child(2) {

background-color: #f76c41;

color: white;

}

}

}

}

</style>

<template>

<div class="isDele" @click="kbxs">

<div class="item">

<p>是否删除</p>

<p>

<span>

取消

</span>

<span>

删除

</span>

</p>

</div>

</div>

</template>

<script>

export default {

data() {

return {

deleData: ""

};

},

methods: {

kbxs(e) {

if (e.target.tagName === ‘DIV‘) {

this.$emit(‘isShow‘)

}else if (e.target.tagName === ‘SPAN‘) {

if (e.target.innerHTML.indexOf(‘取消‘) !== -1 ) {

this.handleClick(‘取消‘)

}else {

this.handleClick(‘删除‘)

}

}

},

handleClick(type) {

if (type == ‘取消‘) {

this.$emit(‘isShow‘)

return

}

let datas = {

// orderId:‘OPRO20180823160539323‘,

};

this.$http.get("delect", datas).then(({ data }) => {

if (data.code == 1) {

this.$dialog.toast({

mes: data.msg,

timeout: 1500,

icon: "success",

callback: () => {

this.$emit(‘isShow‘)

}

});

}

});

}

}

};

</script>

<style lang="scss" scoped>

.isDele {

position: fixed;

top: 0;

left: 0;

width: 100%;

height: 100%;

background: rgba(0, 0, 0, 0.7);

display: flex;

justify-content: center;

align-items: center;

z-index: 100;

> .item {

width: 6.3rem;

height: 3rem;

background: #fff;

border-radius: 0.1rem;

> p:nth-child(1) {

height: 2.05rem;

color: #333333;

font-size: 0.38rem;

font-weight: bold;

text-align: center;

line-height: 2.05rem;

z-index: 200;

}

> p:nth-child(2) {

width: 100%;

height: 0.95rem;

// background: green;

> span {

color: #6a6a6a;

display: inline-block;

width: 50%;

font-size: 0.28rem;

text-align: center;

line-height: 0.95rem;

}

> span:nth-child(2) {

color: #fff;

background-color: #f76c41;

line-height: 0.97rem;

border-radius: 0 0 0.1rem 0;

}

}

}

font-size: 0.3rem;

color: green;

}

</style>

原文地址:https://www.cnblogs.com/hemei1212/p/9571283.html

时间: 2024-11-02 18:53:45

VUE点击弹出蒙版实现步骤的相关文章

jQuery点击弹出层,弹出模态框,点击模态框消失

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 <!DOCTYPE html>

点击弹出居中带有透明遮罩层窗口

点击弹出居中带有透明遮罩层窗口:本章节介绍一下如何点击一个按钮实现弹出一个居中窗口,并且此窗口带有半透明的遮罩层效果,此效果在当下比较流行,当然还有更为复杂的实现方式,当然效果也更为绚丽,下面介绍的代码能够简单实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="htt

点击弹出弹性下拉菜单效果

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta name="keywords" content="站长,网页特效,js特效,广告代码,zzjs,zzjs.net,sky,www.zzjs.net,站长特效 网" /><meta name="

PopupWindow-----点击弹出 PopupWindow 初始化菜单

/** * 点击弹出 PopupWindow 初始化菜单 */ private void initPopupWindow() { PopupWindowAdapter adapter = new PopupWindowAdapter(); mPopDisplay.setAdapter(adapter); //mPopDisplay 是mPopView 中的listview if (mPopupWindow == null) { // mPopView view对象xml文件 mPopupWind

经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用. 1.屏蔽弹出错误脚本 将WebBrowser控件ScriptErrorsSuppressed设置为True即可. (参考本篇博客:http://www.cnblogs.com/qqflying/archive/20

ActionBar点击弹出下拉框操作

在使用Ubuntu作为开发环境时经常需要在全局安装一些依赖框架等,这个时候就常常需要用到root权限,但是在Ubuntu下第一次使用su命令时会提示认证失败:查找资料后发现Ubuntu下root权限默认是锁定的,可能是处于安全考虑,但是作为开发人员肯定是需要root权限的. 在命令行中可以输入下面命令设置root密码,这样就能随时使用root权限了: [email protected]:~$ su 密码: su:认证失败 [email protected]:~$ sudo passwd [sud

基于jQuery鼠标点击弹出登陆框效果

基于jQuery鼠标点击弹出登陆框效果.这是一款扁平样式风格的jQuery弹出层登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <input type="button" class="one" value="点击我查看效果" /> <div class="box"> <div class="box2"> <div class=&quo

android 开发点击弹出对话框中的按钮进行页面跳转如何实现

android开发中,点击弹出对话框中的按钮进行页面跳转,如何实现?可以这样做: 可以获取对话框的点击事件,比如点击了确定然后你就跳转 AlertDialog.Builder builder = new Builder(CommentActivity.this); builder.setMessage("确定要跳转吗?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new a

工作当中实际运用(3)——js原生实现鼠标点击弹出div层 在点击隐藏

function onmou(){ var divs=document.getElementById('kefuDV');//获取到你要操作的div if (divs.style.display=="none") {//下面就简单了 不一一赘述了 divs.style.display="block" }else{ divs.style.display="none" } } js原生代码实现 鼠标点击 弹出 隐藏 div隐藏