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

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

相关推荐
Ai-_Man10 分钟前
您您这可以把Mistral AI的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。
人工智能·ai·小程序·电脑
2501_916008891 小时前
如何实现iOS App代码混淆:SwiftShield使用指南
android·ios·小程序·https·uni-app·iphone·webview
微擎应用市场1 小时前
简单拼车小程序系统:实现出行与物流资源的高效精准匹配
小程序
2501_916008893 小时前
怎么用 Godot 导出 iOS 应用并上架 App Store?签名字段该填什么?
android·ios·小程序·https·uni-app·iphone·webview
2601_963870203 小时前
基于springboot的综合网上购物商场系统
微信小程序·小程序·课程设计
2601_9638699513 小时前
力序健身房管理系统
微信小程序·小程序
一 乐16 小时前
二手交易平台|基于springboot + vue二手交易平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序
微擎应用市场21 小时前
鲸飞云 PMS 系统 —— 现代化酒店运营的智能管理解决方案
小程序
疯狂小猫咪1 天前
教务管理系统课时消课模块设计思路
大数据·小程序
meiying88381 天前
微信商城小程序怎么开发?2026 从店铺架构到下单链路的技术选型拆解
小程序