vue中前端弹窗队列展示
在前端写一个弹窗可能很简单,那如果同时有多个弹窗呢
这样的话就要考虑弹窗的展示问题,肯定是不能叠加在一起的,这时候就要通过队列(先进先出)来展示
思路就是根据队列来实现,至于具体的实现方式,可以在项目中灵活运用
在vue中可以通过vuex存储队列,用watch方法来监听队列的变化
举个🌰
1. 在mutations里写弹窗展示和隐藏的同步操作方法
[Types.M_SERVICE_CHAT_SET_ACCEPT] (state, payload) { // 在接收到转接请求的时候,启用队列 state.acceptSession.show = true // 弹窗展示 state.acceptSession.data = { ...payload} }, [Types.M_SERVICE_CHAT_RESET_ACCEPT] (state, payload) { state.acceptSession.show = false // 弹窗隐藏 if(state.dialogQueue.length) { // 队列不为空,弹窗关闭出队 state.dialogQueue.shift() }
2. 在state里存储弹窗队列
state = {
dialogQueue: []
}
3. 弹窗陆续入队
state.dialogQueue.push(results) // 入队
4. 监听队列的变化,出队依次展示弹窗
// 页面获取队列 computed: { ...mapState({ dialogQueue: state => state.dialogQueue, }), }, watch: { // 页面监听队列 'dialogQueue':{// 监测队列的变化 handler:function(val){ if(val.length){ console.log(val,val.length,val[0].doctor_name) this.showDialog({...val[0]}) // 有变化就出队 } }, deep: true } },
总的来说,这种情况都是通过队列来实现的,具体操作可以根据实际情况,封装一些工具函数或方法等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
2018-11-09 vue里监听安卓的物理返回键
2017-11-09 不固定宽度的div居中显示