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实现登录弹出框 ...
随机推荐
- 解读人:陈秋实,SP2: Rapid and Automatable Contaminant Removal from Peptide Samples for Proteomic Analyses(标准操作流程2:如何在蛋白质组学分析中快速和自动的去除肽段样品中的污染物)
发表时间:2019年4月 IF:3.950 单位: 威斯康星医学院生物化学系 威斯康星医学院生物医学质谱研究中心 物种:人(人体肾脏细胞和蛋白) 技术:肽段清理 一. 概述:(用精炼的语言描述文章的整 ...
- Thinkphp手把手练习
一.搭建thinkphp开发环境 准备条件:thinkphp框架 1.在Apache的www目录下新建文件夹,命名为thinkphp,可以将THinkPHP框架放在该目录中. 2.在thinkphp目 ...
- Necklace of Beads POJ - 1286
\(\color{#0066ff}{ 题目描述 }\) 一个圈上有n个珠子,有三种颜色可以染,问本质不同的方案数(通过旋转和翻转重合的算一种) \(\color{#0066ff}{输入格式}\) 多组 ...
- Could not instantiate bean class [org.springframework.data.mongodb.core.MongoTemplate]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'repositoryDa ...
- python统计字符串中字符个数
str = "xxx" result = {} for i in set(str):#set将字符串转为集合对象,用于去重,减少计算量 result[i] = str.count( ...
- Django 07 Django模型基础2 (常用查询和多表关联)
Django 07 Django模型基础2 (常用查询和多表关联) 一.常用查询 #查找数据 def search_user(request): #获取 rs = User.objects.first ...
- 江西财经大学第一届程序设计竞赛 F
链接:https://www.nowcoder.com/acm/contest/115/F来源:牛客网 题目描述 对于方程 2018 * x ^ 4 + 21 * x + 5 * x ^ 3 + 5 ...
- Python 错误总结
1.以一种访问权限不允许的方式做了一个访问套接字的尝试. 解决方法:这个问题缘由是有端口被占用
- python3 关键字和可变参数笔记
"""普及一下字典的知识""" # dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First' ...
- 页面中使用多个element-ui upload上传组件时绑定对应元素
elemet-ui里提供的upload文件上传组件,功能很强大,能满足单独使用的需求,但是有时候会存在多次复用上传组件的需求,如下图的样子,这时候就出现了问题,页面上有多个上传组件时,要怎么操作呢? ...



