POS开发问题 - 多个弹出框的实现
业务场景如下图:
页面出现提示框:
点击确定,隐藏上面的弹出框, 继续弹出提示:
点击确定隐藏上面的弹出框,继续弹出下面提示:
点击确定隐藏上面的弹出框,继续弹出下面提示:
点击确定,跳转页面
- 上面有 2个 按钮的提示框,如果点击取消,那么就会返回,不会执行往下的操作
- 提示框的按钮的个数可能只有一个‘确定’ 按钮 , 可能 2 个 , 根据业务而定
- 如果这样的需求很多,可能不止4个弹出框,可能就只有一个提示框,根据业务而定
根据 ui 的 分析,决定将上面的提示框封装成一个组件 prompts.vue
将组件放置于app.vue 里面 注册,因为该组件经常被用到
组件用到的数据,用vuex 保存 , 需要提示,只要提交 vuex 的 mutations 即可
组件用到的数据 prompts {
isShow : false , 是否显示提示框 默认false
msgs : [ {
msg : ' ' , //需要提示的信息
button : {
confirm : '确认'
cancel : '取消' // 如果有2个按钮
}
} ]
}
prompts.vue 组件,实现的关键:
弹出框的提示语,永远都是提示 msgs 数组里面的第一个元素 : {{ prompts.msgs[0] && prompts.msgs[0].msg }}
给确定按钮绑定 @click 事件,事件里面 判断 msgs 数组的长度是不是大于1
是 ---->
将 msgs里面的第一个元素删除 ,将提示框隐藏,提交 vuex ,setTimeout 300 毫秒后,继续弹出提示框,此时,弹出的内容就是原来数组的第二个元素的msg , 点击确定,就会循环操作,一直到数组的长度为1
否 ---->
隐藏提示框,并且初始化提示框,判断 子组件是否实现回调函数,是就调用
弹出提示框调用方法:mutations 里面的 UPDATE_PROMPTS 方法
vm.$store.commit('UPDATE_PROMPTS' , {
msgs : [{ msg : ' 提示1 ' , button : {confirm : ' 确定 ' } } ,
{ msg : ' 提示2 ' , button : {confirm : ' 确定 ' , cancel : ' 取消 ' } } ,
{ msg : ' 提示3 ' , button : {confirm : ' 确定 ' } } ,
.....................
] ,
confirmCallBack : function () { ........................ } ,cancelCallBack : function () { ................... }
} ) ;
POS开发问题 - 多个弹出框的实现的更多相关文章
- (转)微信小程序开发—弹出框
原文地址 <span style="font-family:Comic Sans MS;font-size:18px;color:#333333;"><view ...
- 【小程序】微信小程序开发—弹出框
1. <span style="font-family:Comic Sans MS;font-size:18px;color:#333333;"><view cl ...
- iOS开发- 自己主动消失的弹出框
- (void)timerFireMethod:(NSTimer*)theTimer//弹出框 { UIAlertView *promptAlert = (UIAlertView*)[theTimer ...
- 基于Vue.js PC桌面端弹出框组件|vue自定义弹层组件|vue模态框
vue.js构建的轻量级PC网页端交互式弹层组件VLayer. 前段时间有分享过一个vue移动端弹窗组件,今天给大家分享一个最近开发的vue pc端弹出层组件. VLayer 一款集Alert.Dia ...
- JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示
前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...
- 控制非模态弹出框(showModelessDialog)唯一且随父页面关闭
网站开发中,常常会遇到需要弹出窗体的情况,一般弹出框有模态和非模态两种,如下: 模态:window.showModalDialog() 非模态:window.showModelessDialog() ...
- 禁用 WebView 放大镜及拷贝粘贴弹出框
文/KyXu(简书作者)原文链接:http://www.jianshu.com/p/40048d9c979a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 背景:当你的App中有 We ...
- Bootstrap:弹出框和提示框效果以及代码展示
前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...
- html+css源码之实现登录弹出框遮罩层效果
在web开发中,很多网站都做了一些特别炫丽的效果,比如用户登录弹框遮罩层效果,本文章向大家介绍css如何实现登录弹出框遮罩层效果,需要的朋友可以参考一下本文章的源代码. html+css实现登录弹出框 ...
随机推荐
- Servlet中Web.xml的配置详解(一)
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的 ...
- 序列终结者 BZOJ 1251 Splay
题目背景 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术 ...
- kuangbin专题十六 KMP&&扩展KMP HDU1686 Oulipo
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...
- zabbix监控nginx进程
确认nginx有没有安装模块 然后在主站点下添加(二级站点) location /NginxStatus { stub_status on; access_log off; allow 127.0.0 ...
- java 中 静态泛型方法书写
public class SpringBean { /** * */ public static <T> T getBean(Class<T> clazz,String nam ...
- Luogu P4095 [HEOI2013]Eden 的新背包问题 思维/动规
当时一直在想前缀和...多亏张队提醒... 从1到n背次包,保存每一个状态下的价值,就是不要把第一维压掉:再从n到1背一次,同样记住每种状态: 然后询问时相当于是max(前缀+后缀),当然前缀后缀中间 ...
- ssh连接异常
在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁止,并弹出如下类似提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- 读书笔记 - 《毛X东传》
这个书名重复太多,这本的作者是迪克威尔逊.这本书很有意思,可以看出是一个局外人根据残缺不全的资料所写的出来的,而且是结合心理分析的手法主要描述政治历程.总体来说作为传记不够全面,但对于一个中国人来说可 ...
- angularJs(1)指令篇
angularJs模板 <!DOCTYPE html> <html> <head lang="en"> <meta charset=& ...
- Error: Duplicate key name 'PCS_STATS_IDX' (state=42000,code=1061) ----Hive schematool -initSchema -dbType mysql
schematool -initSchema -dbType mysqlMetastore connection URL: jdbc:mysql://localhost/metastore_db?cr ...