小程序-防抖解决弹窗多次出现问题

原生的小程序的wx.showModel组件没有直接关闭的方法,原生组件比较坑就是了,所以只能用其他方法,目前的需求就是一个页面会显示多个弹窗确认,但我只需要显示一个即可,确认关闭后,只要不刷新就不会再触发

防抖

作用:在一段时间内只执行一次函数

问题:由于原生小程序安装插件比较麻烦,所以就手写一个吧

封装防抖函数

复制代码
let timer
let flag
function debounce(func, wait = 500 , immediate = false) {
    if (immediate) {
        if(!flag) {
            flag = true
            typeof func === 'function' && func()
            timer = setTimeout(() => {
                flag = false
            }, wait)
        }
    } else if (!flag) {
        flag = true
        timer = setTimeout(() => {
           flag = false
           typeof func === 'function' && func()
        }, wait)
    }
}

使用

在需要多次弹窗的判断逻辑下使用

debounce(() => {

wx.showModal({

title: '提示',

content: '测试

showCancel: false,

success(res) {

if (res.confirm) {

console.log('确定');

}

}

})

}, 800, false)

这样效果就实现了!

###题外:原生的小程序真的很坑,而且安卓和Ios显示有时候会不一样,兼容性问题吧,经常搞得我比较懵,能用uniapp开发就uniapp吧!!!

相关推荐
2501_915921434 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
FX1317887KP_7 小时前
KET/PET/FCE备考攻略:口语训练的三大误区与科学训练路径
小程序·ket口语·pet口语·fce备考·剑桥英语
海上彼尚8 小时前
【微信小程序】xxx该网站的安全证书存在问题,可选择 “继续”在浏览器中访问。
安全·微信小程序·小程序
FX1317887KP_9 小时前
KPF口语考试题目类型全梳理:KET、PET、FCE各级别考什么、怎么练
小程序·ket口语·pet口语·fce备考·剑桥英语
Ai-_Man10 小时前
ChatGPT还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·javascript·人工智能·chatgpt·小程序·ecmascript
andrsted12 小时前
练题簿在线免费刷题:个人备考,从练新题到模拟自测怎么用?
学习·微信小程序·小程序·学习方法·刷题
一木 之林1 天前
微信小程序开发全攻略·文章版|05 路由·交互·网络与音乐播放器实战
网络·微信小程序·小程序·交互
niucloud-admin1 天前
NIUCLOUD LITE AI开发文档—模块开发:微信小程序
微信小程序·小程序·notepad++
weishuangyun11 天前
家政上门预约小程序怎么做?本地家政接单系统搭建指南
小程序