1***@qq.com
1***@qq.com
  • 发布:2023-01-04 15:00
  • 更新:2024-11-14 14:10
  • 阅读:2875

uni.showModal 弹出多次导致重叠,可以设置只弹出一个吗? 或者有没有关闭弹框的方法

分类:uni-app

消息提示框和loading都有关闭方法 ,模态弹窗怎么没呢

2023-01-04 15:00 负责人:无 分享
已邀请:
c***@163.com

c***@163.com

可以设定一个标记,在调用modal前判断一下就行

蜗牛小弟

蜗牛小弟

参考楼上的答案,做一个全局标记:

        if (code && code == 401) {  
            let exists = uni.getStorageSync('token_expired') || false  
            if (!exists) {  
                uni.setStorageSync('token_expired', true)  
                uni.showModal({  
                    content: msg,  
                    showCancel: false,  
                    confirmText: "确认",  
                    success: (res) => {  
                        if (res.confirm) {  
                            store.dispatch('auth/logout')  
                            uni.reLaunch({  
                                url: '/pages/login/index'  
                            })  
                        }  
                    }  
                })  
            }  
        }
Diligent_UI

Diligent_UI - 【插件开发】【专治疑难杂症】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=193663(微信搜索飘逸科技UI小程序直接体验)】【骗子请绕道】问题咨询请加QQ群:120594820,代表作灵感实用工具小程序

自定义弹框,想怎么控制就这么控制

1***@qq.com

1***@qq.com

let modalCreated = false;  
uni.$showModal = (obj) => {  
return new Promise((resolve, reject) => {  
if (!modalCreated) {  
uni.showModal({  
...obj,  
success: (res) => {  
if (res.confirm) {  
resolve({ confirmed: true, ...res });  
} else if (res.cancel) {  
return  
}  
},  
fail: (err) => {  
reject(err)  
},  
complete: () => {  
modalCreated = false;  
}  
})  
modalCreated = true;  
}  
})  
}  

uni.$showModal({  
content:'请先登录再进行操作',  
confirmText: '立即登录', // 可选  
}).then(res=>{  
uni.navigateTo({  
url: '/packages2/mine/login/login'  
})  
})  

要回复问题请先登录注册