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

news/2024/7/20 2:06:27 标签: 小程序

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


http://www.niftyadmin.cn/n/5398796.html

相关文章

服务器常见的问题及解决方案

在面对硬件结构复杂、繁琐的服务器,企业不免会遇到服务器发生异常问题或者是出现系统故障的情况,从而导致重要数据的丢失,给企业造成巨大的损失,那么面对服务器异常,我们应该如何进行解决呢? 1.用户无法访问页面 对于…

c++ for 循环语句

循环语句 在C中,有几种循环语句可用于重复执行一段代码,直到满足指定条件为止,主要有 for 循环、while 循环、do-while 循环三种循环语句。三者区别: 循环类型特点for 循环1. 适用于已知循环次数的情况,循环次数事先…

一篇关于,搬运机器人的介绍

搬运机器人是一种能够自动运输和搬运物品的机器人。它们通常配备有传感器和导航系统,可以在工厂、仓库、医院或其他场所自主移动,并且可以根据预先设定的路径或指令进行操作。 搬运机器人可以用于搬运重物、物料搬运、装卸货物、仓库管理等任务。它们可以…

速卖通平台的API支持哪些开发语言和工具?

速卖通(AliExpress)是阿里巴巴旗下的跨境电商平台,为卖家提供了API接口,允许开发者通过编程方式与其进行交互,获取商品详情等信息。速卖通API支持多种开发语言和工具,包括但不限于: 开发语言&a…

什么卡可以绑定美国苹果ID,绑美区苹果ID指南

首先我们需要开一张5561的虚拟卡,进行绑定 卡片信息在卡中心“卡密里面”按卡里面信息对应填写即可 绑定方法如下: 1、在iOS设备上,打开自带的AppStore这个应用,在精品推荐的页面底部,找到AppleID,点选后…

单点登录的三种方式

前言 在B/S系统中,登录功能通常都是基于Cookie 来实现的。当用户登录成功后,一般会将登录状态记录到Session中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保存一些信息(Session ID或Token)&#xff0…

开源世界的学术问题

自由软件基金会是1983年成立的,到现在是41年。正好很有意思的是,在去年还有一篇文章(CSDN 的翻译),专门在质疑说成立 40 年的自由软件基金会是不是已经快不行了,所以我们会用这个标题叫做兴衰发展历程来介绍…

【北京迅为】《iTOP-3588开发板网络环境配置手册》第1章 网络基础知识学习

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…