uni-app自定义Modal弹窗|alert对话框|Toast提示

简介: uniApp自定义模态弹窗模板uniPop,实现了uniapp仿微信、android、ios弹窗效果,msg信息框/confirm确认框uniPop内置多种动画效果、可供选择类型ios/android、可以自定义弹窗样式/自定义多按钮及事件/弹窗显示位置、自动关闭秒数、遮罩层透明度及点击遮罩是否关闭如下图:H5/小程序/App三端效果兼容性一致。

uniApp自定义模态弹窗模板uniPop,实现了uniapp仿微信、android、ios弹窗效果,msg信息框/confirm确认框

uniPop内置多种动画效果、可供选择类型ios/android、可以自定义弹窗样式/自定义多按钮及事件/弹窗显示位置、自动关闭秒数、遮罩层透明度及点击遮罩是否关闭

如下图:H5/小程序/App三端效果兼容性一致。(后续大图均展示App端)
_1

引入方式
uniPop.vue弹窗组件两种引入方式:
1、在main.js里引入全局组件
import uniPop from './components/uniPop/uniPop.vue'
Vue.component('uni-pop', uniPop)
2、在页面引入组件

<template>
    <view class="container">
        ...
        
        <!-- 弹窗模板 -->
        <uni-pop ref="uniPop"></uni-pop>
    </view>
</template>
 
<script>
    import uniPop from './components/uniPop/uniPop.vue'
    export default {
        data() {
            return {
                ...
            }
        },
        components:{
            uniPop
        },
        ...
    }
</script>

调用方式

this.$refs.uniPop.show({
    content: 'msg消息提示框(5s后窗口关闭)',
    shade: true,
    shadeClose: false,
    time: 5,
    anim: 'fadeIn',
})
this.$refs.uniPop.show({
    skin: 'toast',
    content: 'loading',
    icon: 'loading', //success | info | error | loading
    shade: false,
    time: 3
})

001360_20190923154708460
002360_20190923154722027
004360_20190923154747166
005360_20190923154819669
008360_20190923154909371
009360_20190923154936684
011360_20190923155228340
013360_20190923155252300
015360_20190923155320651
017360_20190923155401540
_3_App_360_20190923153432812

/**
  * @tpl        uni-app自定义弹窗组件 - uniPop.vue
  * @author     andy by 2019-09-20
  */
 
<template>
    <view v-if="opts.isVisible" class="uniPop" :class="opts.isCloseCls">
        <view class="unipop__ui_panel">
            <view v-if="opts.shade" class="unipop__ui_mask" @tap="shadeTaped"></view>
            <view class="unipop__ui_main">
                <view class="unipop__ui_child" :style="opts.style">
                    <!-- 标题 -->
                    <view v-if="opts.title" class="unipop__ui_tit">{{opts.title}}</view>
                    <!-- 内容 -->
                    <view v-if="opts.content" class="unipop__ui_cnt" :style="opts.contentStyle">
                        {{opts.content}}
                    </view>
                    <view v-if="opts.btns" class="unipop__ui_btns">
                        <text v-for="(item,index) in opts.btns" :key="index" class="btn" :style="item.style" @tap="btnTaped(item)">{{item.text}}</text>
                    </view>
                </view>
                <!-- xclose -->
                <view v-if="opts.xclose" class="unipop__xclose" @tap="close"></view>
            </view>
        </view>
    </view>
</template>
data() {
    return {
        defaultOptions: {
            isVisible: false,       //是否显示弹窗
            
            title: '',              //标题
            content: '',            //内容
            contentStyle: '',       //内容样式
            style: null,            //自定义弹窗样式
            skin: '',               //弹窗风格
            icon: '',               //弹窗图标
            xclose: false,          //自定义关闭按钮
            
            shade: true,            //遮罩层
            shadeClose: true,       //点击遮罩关闭
            opacity: '',            //遮罩透明度
            time: 0,                //自动关闭秒数
            end: null,              //销毁弹窗回调函数
            
            anim: 'scaleIn',        //弹窗动画  scaleIn(默认) | fadeIn | shake | top | right | bottom | left
            position: '',           //弹窗位置  top | right | bottom | left
            
            btns: null,             //弹窗按钮
        },
        opts: {},
        timer: null
    }
},
目录
相关文章
|
12月前
|
机器学习/深度学习 人工智能 分布式计算
基于YOLOv5算法的APP弹窗检测方案
基于YOLOv5算法的APP弹窗检测方案
安装APK时弹窗提示“Detected problems with app native libraries”
安装APK时弹窗提示“Detected problems with app native libraries”
98 0
|
XML 存储 缓存
Android 天气APP(三十一)每日提醒弹窗
Android 天气APP(三十一)每日提醒弹窗
119 0
Android 天气APP(三十一)每日提醒弹窗
|
存储 XML 缓存
Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
158 0
Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
|
Android开发
Android 天气APP(八)城市切换 之 自定义弹窗与使用(下)
Android 天气APP(八)城市切换 之 自定义弹窗与使用(下)
202 0
Android 天气APP(八)城市切换 之 自定义弹窗与使用(下)
|
JSON Android开发 数据格式
Android 天气APP(八)城市切换 之 自定义弹窗与使用(上)
Android 天气APP(八)城市切换 之 自定义弹窗与使用(上)
104 0
Android 天气APP(八)城市切换 之 自定义弹窗与使用(上)
|
Android开发 iOS开发
浅析APP控件:模态弹窗与非模态弹窗
浅析APP控件:模态弹窗与非模态弹窗 在手机app应用中各种格式的弹窗效果相信大家都看过,此次分享就来谈谈关于app弹窗设计以及弹窗的适用情景。 一、弹窗的定义 1、弹窗作用 弹窗是为了让用户回应,需要用户与之交互的窗口。
3843 0
|
JavaScript 前端开发 HTML5
BasicModal - 简单易用的现代 Web App 弹窗
  BasicModal 是为现代 Web 应用程序打造的弹窗系统。它包括所有你需要显示的信息,问题或接收用户的输入。这里的弹窗还可以链接起来,所以你可以很容易地建立一个预定义顺序的安装帮助或显示对话框。
895 0
|
27天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3

热门文章

最新文章