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

原生的小程序的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吧!!!

相关推荐
2601_952013768 小时前
新麦同城到家预约上门小程序V3全开源版 vueadmin+unipp开源前端+小程序端
小程序
土土哥V_araolin10 小时前
双迪大健康模式系统开发
小程序·个人开发·零售
2501_9160074710 小时前
HTTPS 抓包的流程,代理抓包、设备数据线直连抓包、TCP 数据分析
网络协议·tcp/ip·ios·小程序·https·uni-app·iphone
css在哪里11 小时前
小程序版 Three.js 入门 Demo(完整可运行)
3d·小程序·threejs
游戏开发爱好者812 小时前
React Native iOS 代码如何加密,JS 打包 和 IPA 混淆
android·javascript·react native·ios·小程序·uni-app·iphone
CHU72903513 小时前
社区生鲜买菜小程序前端功能版块设计及玩法介绍
前端·小程序
2501_9159184113 小时前
iOS mobileprovision 描述文件管理,新建、下载和内容查看
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张13 小时前
iOS 应用程序使用历史记录和耗能记录怎么查?
android·ios·小程序·https·uni-app·iphone·webview
吴声子夜歌14 小时前
小程序——WeUI组件
小程序
一只鹿鹿鹿16 小时前
网络安全风险评估报告如何写?(Word文件)
java·大数据·spring boot·安全·web安全·小程序