uniapp ios 授权弹窗 uniapp弹出框怎么实现

新版本的信息弹窗组件

可以弹出很多条信息,并单独控制消失时间、点击消失。

uniapp ios 授权弹窗 uniapp弹出框怎么实现_uniapp ios 授权弹窗

用循环来生成很多个弹窗,用this.$refs来传值,并添加数组。

1.布局
2.js

具体流程。需要一个弹窗,基本信息传入组件,处理后添加入数组,显示弹窗,过几秒消失,从数组移除元素。

methods:{//初始化一些数据init:function(list){if (list.type == 'success') {list.icon = '../../static/xuan-popup/success.png';list.typeClass='mpopup-success';return list;}if (list.type == 'warn') {list.icon = '../../static/xuan-popup/warn.png';list.typeClass='mpopup-warn';return list;}if (list.type == 'info') {list.icon = '../../static/xuan-popup/info.png';list.typeClass='mpopup-info';return list;}if (list.type == 'err') {list.icon = '../../static/xuan-popup/err.png';list.typeClass='mpopup-err';return list;}},open:function(list){if(!this.isdistance){this.distance=0}let uuid=this.guid();//初始化let new_list=this.init(list);    new_list.uuid=uuid;//添加进数组this.popup_list.push(new_list);if(typeof(new_list.isClick)!='boolean'){new_list.isClick=false;}//可消失if(!new_list.isClick){this.close(uuid,new_list.timeout);}},close:function(uuid,timeout){//退出动画之后,短暂延迟后移除本元素this.fade_out_animator(uuid,timeout).then(res=>{setTimeout(()=>{for(let i=0;i<this.popup_list.length;i++){if(this.popup_list[i].uuid==res){//移除本元素this.popup_list.splice(i,1);this.$forceUpdate()}}},250)});},fade_out_animator:function(uuid,timeout){//timeout秒后退出if(!timeout||typeof(timeout)!='number'){timeout=3000;}return new Promise(res=>{setTimeout(()=>{for(let i=0;i<this.popup_list.length;i++){if(this.popup_list[i].uuid==uuid){//添加退出动画this.popup_list[i].animator='fade_Top';res(uuid);}}},timeout)})},//可点击关闭的弹出框remove_popup:function(target){console.log(target)if(this.popup_list[target].isClick){this.popup_list[target].animator='fade_Top';setTimeout(()=>{this.popup_list.splice(target,1);this.$forceUpdate();},250)}},//生成uuidguid:function() {return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);return v.toString(16);});}}
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.82.83.84.85.86.87.
3.用法
import mpopup from '../../components/xuan-popup/xuan-popup.vue'import Popup from '../../components/xuan-popup/popup.js'export default {components:{mpopup},data() {return {title: 'Hello'}},methods: {//  *数组形式传值//  *type,类型 success warn info err(string)//  *content,内容(string)//  *timeout,消失时间(Number)//  *isClick,是否点击消失(Boolean)pop:function(){this.$refs.mpopup.open(Popup.setPopup('success','我可以',false));},popp:function(){this.$refs.mpopup.open(Popup.setPopup('err','错误',false));        },poppp:function(){this.$refs.mpopup.open(Popup.setPopup('warn','警告',1000,false));        },popppp:function(){//需要点击消失时,消失时间填0就好this.$refs.mpopup.open(Popup.setPopup('info','信息',0,true));    }}}
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.

1.0(2019-08-09)

前面写android混编学到了很多,没有时间全部积累起来,后面会慢慢记录的。

最近很久没有记录了,因为一个新的uniapp的项目。最近在做这个。

看了智慧团建上的弹窗很喜欢,我也要整一套(简易版)

今天兴致大发居然布了插件:** http://ext.dcloud.net.cn/plugin?id=672

很简单的组件化,我们来看一看吧

uniapp ios 授权弹窗 uniapp弹出框怎么实现_数组_02

一、写布局

一个大容器一张图片一个文本

css就不贴上来了,看的眼花。可以下载来看。

二、js

定义一些属性,用来决定弹什么样的窗口,显示一些什么内容

export default{data() {return {icon: '',//图标content: '',//内容color: '',//背景颜色colortext: '',//文本颜色coloricon: '',//图标颜色isshow: false,//是否显示activeClass:'mpopup',//classanimator:'fade_Down'//动画class};},//属性props: {//什么类型的弹窗types: {type: String,value: 'success'},//弹窗的内容span: {type: String,value: '这是一个土司'},//是否显示show: {type: String,value: ''}},computed: {newshow() {return this.show;}},watch: {//监听属性传入的值的变化newshow(val) {if (val == 'true') {this.open();//显示弹窗} else {this.close();//隐藏弹窗}}},onLoad() {},methods: {init: function() {this.content = this.span;//成功类型if (this.types == 'success') {this.icon = '../../static/images/success.png';this.color = '#F0F9EB';this.colortext = '#67C23A';this.coloricon = '#67C23A';}//警告类型if (this.types == 'warn') {this.icon = '../../static/images/warn.png';this.color = '#FDF6EC';this.colortext = '#E6A23C';this.coloricon = '#E6A23C';}//信息类型if (this.types == 'info') {this.icon = '../../static/images/info.png';this.color = '#EDF2FC';this.colortext = '#909399';this.coloricon = '#909399';}//错误类型if (this.types == 'err') {this.icon = '../../static/images/err.png';this.color = '#FEF0F0';this.colortext = '#F56C6C';this.coloricon = '#F56C6C';}},open: function() {this.animator='fade_Down';//进入动画this.init();this.isshow = true;},close: function() {this.animator='fade_Top';//退出动画}}}
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.82.83.84.85.86.87.88.89.90.

好了我们来看看怎么使用

三、使用

在需要用到的界面引入组件或者全局引入都可以

有三个属性我们需要用js来控制,每次赋值太繁琐

所以就写了个方法,每次调用就好

引入刚才的两个js

import Popup from ‘@/static/js/popup.js’;

import mpopup from ‘…/…/components/popup/popup.vue’;

export default {data() {return {ispop:"",//是否显示弹窗types:"err",//弹窗类型span:"这是一个土司",//弹窗内容poptime:2000};},components:{mpopup},onLoad() {},methods: {pop:function(){Popup.setPopup(this,"success","hello,哈喽",this.poptime);},popp:function(){Popup.setPopup(this,"err","hello,哈喽",this.poptime);},poppp:function(){Popup.setPopup(this,"warn","hello,哈喽",this.poptime);},popppp:function(){Popup.setPopup(this,"info","hello,哈喽",this.poptime);}}
};
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.

布局:

这样就OK了

当时思路就是用属性来控制弹窗,组件就监听传来的属性值的变化做出改变。

用class来控制弹窗的进入和退出动画

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux unset命令详解:如何删除已定义的 shell 变量(包括环境变量)和 shell 函数(附实例教程和注意事项)

Linux unset命令介绍 unset是一个内建于Linux的命令&#xff0c;用于在程序执行过程中删除变量&#xff08;包括环境变量&#xff09;或函数。unset命令可以删除函数和shell变量。如果指定了"varName"&#xff0c;它将指向一个变量名&#xff0c;shell将取消设置它并…

智能优化算法应用:基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于闪电搜索算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.闪电搜索算法4.实验参数设定5.算法结果6.参考…

【C++】异常处理 ① ( 异常概念引入 | 抛出异常语法 | 捕获异常语法 | 异常捕获流程 | 异常处理代码示例 )

文章目录 一、异常处理1、异常概念引入2、抛出异常语法3、捕获异常语法4、异常捕获流程 二、异常处理代码示例1、错误代码示例 - 抛出异常 / 不捕获异常2、正确代码示例 - 抛出异常 / 捕获异常3、正确代码示例 - 抛出异常 / 捕获异常不处理继续抛出异常 一、异常处理 1、异常概…

Java面向对象第8天

精华笔记&#xff1a; 接口&#xff1a; 是一种引用数据类型 由interface定义 只能包含常量和抽象方法 不能被实例化 接口是需要被实现/继承的&#xff0c;实现类/派生类&#xff1a;必须重写接口中的所有抽象方法 一个类可以实现多个接口&#xff0c;用逗号分隔。若又继承…

接口测试入门8问(含答案+文档)

Q1&#xff1a;什么是接口测试&#xff0c;基础知识什么的讲讲吧&#xff01; A&#xff1a;你好&#xff0c;接口可以分下面几种 1、系统与系统之间的调用&#xff0c;比如银行会提供接口供电子商务网站调用&#xff0c;或者说&#xff0c;支付宝会提供接口给淘宝调用 2、上…

Table和HashBasedTable的使用案例

------------------- 1.普通使用 package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table;import java.util.Map;public class TestHashBasedTable {public static void main(String[] args) {Ta…

【方法】PowerPoint如何删除“限制编辑”?

如果PPT文件设置成“只读模式”&#xff0c;就会被限制编辑&#xff0c;也就是无法对PPT进行编辑或更改&#xff0c;那要如何删除这个“限制”呢&#xff1f; 下面小编会按照“无密码的只读方式”、“有密码的只读方式”以及“忘记了密码的只读方式”这3种情况&#xff0c;来说…

enote笔记法之附录2——5w1h2k关联词(ver0.22)

enote笔记法之附录2——5w1h2k关联词&#xff08;ver0.22&#xff09; 最上面的是截屏的完整版&#xff0c;分割线下面的是纯文字版本&#xff1a; 作者姓名&#xff08;本人的真实姓名&#xff09;&#xff1a;胡佳吉 居住地&#xff1a;上海 作者网名&#xff1a;EverSt…

【从删库到跑路 | MySQL总结篇】表的增删查改(进阶下)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、联合…

【接口技术】实验3:可编程并行接口8255

实验3 可编程并行接口8255实验 一、实验目的 1&#xff1a;了解8255芯片结构及编程方法。 2&#xff1a;了解8255输入/输出实验方法。 3&#xff1a;掌握8255控制键盘及显示电路的基本功能及编程方法。 4&#xff1a;掌握一般键盘和显示电路的工作原理。 二、实验内容 1&…

WS2812灯条基于WLED开源项目无门槛使用简介

WS2812灯条基于WLED开源项目无门槛使用简介 &#x1f4cc;项目github地址&#xff1a;https://github.com/Aircoookie/WLED&#x1f4cd;WLED详情地址&#xff1a;https://kno.wled.ge/&#x1f388;网页在线烧录固件地址&#xff1a;https://install.wled.me/ ✨ 仅作为使用的…

linux查询某个进程使用的内存量

linux查询某个进程使用的内存量 查进程用的内存&#xff0c;查看进程占用的内存量&#xff0c;centos查询内存使用 查某个进程id使用的内存量 ps -p 24450 -o rss | awk {print int($1/1024)"MB"} 该命令的含义是&#xff1a; ps -p 24450: 查找进程ID为24450的进…

Nginx漏洞复现与分析

Nginx如何处理PHP请求 Nginx本身不支持直接解析和执行PHP代码,但可以通过与PHP解释器的集成来处理PHP请求。一种常见的方法是使用PHP-FPM(FastCGI Process Manager)作为PHP解释器。 原理图: Step 1 Step 2 +---------------------+ …

安全技术与防火墙

目录 一、安全技术 1、安全技术 2、防火墙的分类 二、netfilter 1、netfilter简述 2、防火墙工具 1.iptables工具 2.netfilter的四表五链 3.内核中数据包的传输过程 4.三种报文流向 5.实操 总结&#xff1a;本章主要介绍了安全技术与防火墙 一、安全技术 1、安全技…

天拓四方分享:危化品企业如何搭建安全生产风险预警防控平台?

危化品企业作为高风险行业&#xff0c;其安全生产问题一直备受关注。为了有效预防和控制危化品企业在生产过程中可能出现的安全风险&#xff0c;提高企业的安全性和稳定性&#xff0c;搭建一套有效的安全生产风险预警防控平台势在必行&#xff0c;通过平台实现危化品生产、储存…

【C 语言经典100例】C 练习实例1

题目&#xff1a;有 1、2、3、4 四个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f; 程序分析&#xff1a;可填在百位、十位、个位的数字都是 1、2、3、4&#xff0c;组成所有的排列后再去掉不满足条件的排列。 #include<std…

解决Unable to preventDefault inside passive event listener invocation.报错

报错信息&#xff1a; 这个报错大致说的是&#xff1a;无法在被动事件侦听器调用中防止Default 查了其他博主的解决办法&#xff1a;比如&#xff1a; 1、声明事件监听的时候设置为主动事件监听&#xff1a; window.addEventListener(‘touchmove’, handler, { passive: fal…

西南科技大学模拟电子技术实验一(常用电子仪器的使用及电子元器件的识别)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元 1、用万用表电阻挡测量实验板(箱)上电位器(可调电阻)的参数范围。 0~1kΩ电阻: 1k*0%=0 1k*100%=1k 所以范围为0~1k 0~10kΩ电阻: 10k*0%=0 10k*…

Javase | Java题目、Java算法题(不断添加中…)

目录: Java算法题1. 编写Java程序&#xff0c; 打印几个特定的ASCII码&#xff0c;包括数组0和9,大写字母A和Z ,小写字母a和z2.编写程序&#xff0c;对是哪个整型变量进行排序&#xff0c;按照从小到大的顺序排列3.用if语句的嵌套&#xff0c;根据学生成绩判断等级4.用switch语…

【软件测试学习】—软件测试模型(二)

【软件测试学习】—软件测试模型&#xff08;二&#xff09; 我 | 在这里 &#x1f469;‍&#x1f9b0;&#x1f469;‍&#x1f9b0; 读书 | 长沙 ⭐计算机科学与技术 ⭐ 本科 【2024届】 &#x1f383;&#x1f383; 爱好 | 旅游、跑步、网易云、美食、摄影 &#x1f396;️…