广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue自定义弹框效果(确认框、提示框)
  • 459
分享到

vue自定义弹框效果(确认框、提示框)

2024-04-02 19:04:59 459人浏览 安东尼
摘要

本文实例为大家分享了Vue自定义弹框效果的具体代码,供大家参考,具体内容如下 1、自定义确认框和提示框 根据传入的type来判断是确认框或提示框 <template>

本文实例为大家分享了Vue自定义弹框效果的具体代码,供大家参考,具体内容如下

1、自定义确认框和提示框

根据传入的type来判断是确认框或提示框


<template>
  <transition name="confirm-fade">
    <div v-if="isshowConfirm" class="my-confirm" @click.stop="clickFun('clickCancel')">
      <div class="confirm-content-wrap" @click.stop>
        <h3 class="my-confirm-title" v-show="titleText != ''">{{ titleText }}</h3>
        <p class="my-confirm-content">{{ content }}</p>
        <div class="my-operation">
          <div v-if="type==='confirm'" class="my-cancel-btn" @click="clickFun('clickCancel')">
            <p class="my-btn-text my-border-right">{{ cancelText }}</p>
          </div>
          <div class="confirm-btn" @click="clickFun('clickConfirm')">
            <p class="my-btn-text">{{ confirmText }}</p>
          </div>
        </div>
      </div>
    </div>
  </transition>
</template>
 
<script type="text/ecmascript-6">
export default {
  data () {
    return {
      isShowConfirm: false, // 用于控制整个窗口的显示/隐藏
      titleText: '操作提示', // 提示框标题
      content: 'Say Something ...', // 提示框的内容
      cancelText: '取消', // 取消按钮的文字
      confirmText: '确认', // 确认按钮的文字
      type: 'confirm', // 表明弹框的类型:confirm - 确认弹窗(有取消按钮);alert - 通知弹框(没有取消按钮)
      outerData: null // 用于记录外部传进来的数据,也可以给外部监听userBehavior,事件的函数提供判断到底是哪个事件触发的
    }
  },
  methods: {
    show (content, config) {
      this.content = content || 'Say Something ...'
 
      if (Object.prototype.toString.call(config) === '[object Object]') {
        // 确保用户传递的是一个对象
        this.titleText = config.titleText || ''
        this.cancelText = config.cancelText || '取消'
        this.confirmText = config.confirmText || '确认'
        this.type = config.type || 'confirm'
        this.outerData = config.data || null
      }
 
      this.isShowConfirm = true
    },
    hidden () {
      this.isShowConfirm = false
      this.titleText = '操作提示'
      this.cancelText = '取消'
      this.confirmText = '确认'
      this.type = 'confirm'
      this.outerData = null
    },
    clickFun (type) {
      this.$emit('userBehavior', type, this.outerData)
      this.hidden()
    }
  }
}
</script>
 
<style scoped>
.my-confirm {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 998;
  
  -WEBkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
 

.confirm-fade-enter-active {
  animation: opacity 0.3s;
}
.confirm-fade-enter-active .confirm-content-wrap {
  animation: scale 0.3s;
}
.confirm-fade-leave-active {
  animation: outOpacity 0.2s;
}
 

.confirm-content-wrap {
  position: absolute;
  top: 28%;
  left: 0;
  right: 0;
  width: 280px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 5px;
  z-index: 999;
  user-select: none;
}
 

.my-confirm-title {
  padding-top: 20px;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  color: #333;
}
 

.my-confirm-content {
  padding: 0 15px;
  padding-top: 20px;
  margin-bottom: 32px;
  text-align: center;
  font-size: 16px;
  color: #666;
  line-height: 1.5;
}
 

.my-operation {
  display: flex;
  border-top: 1px solid #eee;
}
.my-operation .my-cancel-btn, .confirm-btn {
  flex: 1;
}
.my-operation .confirm-btn {
  color: #ffb000;
}
.my-operation .my-btn-text {
  text-align: center;
  font-size: 16px;
  margin: 8px 0;
  padding: 6px 0;
}
 

.my-border-right {
  border-right: 1px solid #eee;
}
 

@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scale {
  0% {
    transfORM: scale(0);
  }
  60% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
 

@keyframes outOpacity {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
</style>

2、调用:

(1)提示框的使用:


<DialogView ref="myDialog" @userBehavior="changeData"></DialogView>
……
//提示框
this.$refs.myDialog.show(content, {
        type: 'alert',
        confirmText: 'OK',
        cancelText: '取消',
        titleText: '',
        data: null
      })

效果:

(2)确认框:


this.$refs.myDialog.show('要兑换这个商品么?', {
            type: 'confirm',
            confirmText: '立即兑换',
            cancelText: '不用了',
            titleText: '',
            data: {shop: shop, operate: 'exchange'}
          })

效果:

当为确认框时的按键处理:changeData


<DialogView ref="myDialog" @userBehavior="changeData"></DialogView>
    ……
 
    changeData (type, data) {
      console.log('changeData',data)
      if (type === 'clickConfirm') {
        if (data.operate === 'exchange') {
          // this.reduceEnergy(data.shop)
          this.exchangeCoupon(data.shop)
        } else if (data.operate === 'downLoad') {
          window.location = data.url
        } else if (data.operate === 'login') {
          this.uplusapi.upVdnModule.GoToPage({url: 'mpaas://usercenter'})
          this.isLogin = false
        }
      }
},

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: vue自定义弹框效果(确认框、提示框)

本文链接: https://www.lsjlt.com/news/127202.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue自定义弹框效果(确认框、提示框)
    本文实例为大家分享了vue自定义弹框效果的具体代码,供大家参考,具体内容如下 1、自定义确认框和提示框 根据传入的type来判断是确认框或提示框 <template>...
    99+
    2022-11-12
  • Android自定义弹框Dialog效果
    本文实例为大家分享了Android自定义弹框Dialog效果的具体代码,供大家参考,具体内容如下 1.dialog_delete.xml <xml version=...
    99+
    2022-11-13
  • Android自定义弹出框dialog效果
    项目要用到弹出框,还要和苹果的样式一样(Android真是没地位),所以就自己定义了一个,不是很像(主要是没图),但是也还可以。废话不多说了,直接上代码先看布局文件<?xml version="1.0" encoding="u...
    99+
    2023-05-31
    android 弹出框 dialog
  • 小程序自定义弹出框效果
    本文实例为大家分享了小程序自定义弹出框效果的具体代码,供大家参考,具体内容如下 my-pop----api: title ------字符串---------自定义弹窗标题con...
    99+
    2022-11-13
  • Android怎么自定义弹框Dialog效果
    今天小编给大家分享一下Android怎么自定义弹框Dialog效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。具体效果如下...
    99+
    2023-06-30
  • jquery如何弹出自定义提示框
    要弹出自定义提示框,可以使用jQuery UI库中的对话框组件。下面是一个示例:首先,确保你已经引入了jQuery和jQuery UI库。然后,可以使用下面的代码创建一个自定义提示框:HTML代码:```html这是一个自定义提示框。...
    99+
    2023-08-11
    jquery
  • ionic如何实现自定义弹框效果
    这篇文章给大家分享的是有关ionic如何实现自定义弹框效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。思路利用ionic自带的弹框$ionicPopup。隐藏头部和尾部,只保留...
    99+
    2022-10-19
  • 微信小程序自定义弹框效果
    本文实例为大家分享了微信小程序自定义弹框效果的具体代码,供大家参考,具体内容如下 wxml <!-- 取消订单按钮 --> <view class="cancelB...
    99+
    2022-11-13
  • JavaScript常用的3种弹出框(提示框 alert/确认框 confirm/输入框 prompt)
    目录1、提示框 alert2、确认框 confirm3、输入框 prompt1、提示框 alert // 没有返回值 alert('你好'); 2、确认框 confirm // 返...
    99+
    2022-11-13
  • Flutter自定义搜索框效果
    本文实例为大家分享了Flutter自定义搜索框效果的具体代码,供大家参考,具体内容如下 效果 实现方式 import 'package:dio/dio.dart'; impor...
    99+
    2022-11-12
  • Android自定义加载框效果
    本文实例为大家分享了Android自定义加载框效果的具体代码,供大家参考,具体内容如下 效果图 菊花图标(mipmap-xxhdpi) 加载框圆角背景drawable <...
    99+
    2022-11-12
  • JQuery自定义模态框效果
    本文实例为大家分享了JQuery自定义模态框效果的具体代码,供大家参考,具体内容如下 重点:基于jQuery ,也可改造成原生模态框 功能: 1、可以自定义模态框的宽高等等一系列cs...
    99+
    2022-11-13
  • Vue自定义模态对话框弹窗
    本文实例为大家分享了Vue自定义模态对话框弹窗的具体代码,供大家参考,具体内容如下 模态对话框弹窗效果: 父组件(应用页面)主要代码: <template>     &...
    99+
    2022-11-13
  • Android自定义弹窗提示效果
    本文实例为大家分享了Android 自定义弹窗提示的具体代码,供大家参考,具体内容如下 Java文件: private void showSetDeBugDialog() { ...
    99+
    2022-11-12
  • Flutter自定义Appbar搜索框效果
    本文实例为大家分享了Flutter自定义Appbar搜索框效果的具体代码,供大家参考,具体内容如下 首先看一下实现本次实现的效果。 本来想直接偷懒从flutter pub上找个能用...
    99+
    2022-11-12
  • Android studio自定义对话框效果
    本文实例为大家分享了Android studio自定义对话框效果的具体代码,供大家参考,具体内容如下 实现步骤: 第一步:自定义.xml布局文件 <?xml ver...
    99+
    2022-11-12
  • laravel弹出提示框效果怎么实现
    今天小编给大家分享一下laravel弹出提示框效果怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。laravel中弹出...
    99+
    2023-07-04
  • Android仿IOS自定义AlertDialog提示框
    本文介绍的仿IOS对话框的实现,先来看一下效果图 具体代码如下: public class AlertDialog { private Context context;...
    99+
    2022-06-06
    alertdialog IOS Android
  • JQuery如何自定义模态框效果
    这篇文章主要讲解了“JQuery如何自定义模态框效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JQuery如何自定义模态框效果”吧!重点:基于jQuery ,也可改造成原生模态框功能:可...
    99+
    2023-07-02
  • Vue怎么自定义模态对话框弹窗
    这篇文章主要介绍“Vue怎么自定义模态对话框弹窗”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue怎么自定义模态对话框弹窗”文章能帮助大家解决问题。模态对话框弹窗效果:父组件(应用页面)主要代码:...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作