首页 防骗技巧 正文
  • 本文约1438字,阅读需7分钟
  • 11
  • 0

过滤重复点击 Flutter中的节流与防抖 (过滤重复项)

温馨提示:本文最后更新于2024年8月30日 12:48,若内容或图片失效,请在下方留言或联系博主。
摘要

本文目录导航,Flutter中的节流与防抖,过滤重复点击,详解小程序如何防止屡次点击,重复触发事情处置经常使用click事情苹果手机延续点击屡次产生的BugFlutter中的节流与防抖,过滤重复点击,在触发事情时,不立刻口头指标操作,而是给出一个提前的期间,在该期间范畴内假设再次触发了事情,则重置提后期间,直到提后期间完结才会口头指标...。

本文目录导航:

Flutter中的节流与防抖(过滤重复点击)

在触发事情时,不立刻口头指标操作,而是给出一个提前的期间,在该期间范畴内假设再次触发了事情,则重置提后期间,直到提后期间完结才会口头指标操作。

如设定提后期间为500ms,

延续点击 收藏 按钮,中止点击时才会口头”收藏/敞开收藏“操作,只会口头一次性”收藏/敞开收藏“操作

在触发事情时,立刻口头指标操作,同时给出一个提前的期间,在该期间范畴内假设再次触发了事情,该次事情会被疏忽,直到超越该期间范畴后触发事情才会被处置。

如设定提后期间为500ms,

延续点击 收藏 按钮,在第一次性点击时会立刻口头”收藏/敞开收藏“操作,在本次操作口头实现前的屡次点击会被疏忽,只会口头一次性”收藏/敞开收藏“操作。

过滤重复点击

局部场景,如收藏等一些按钮,在延续屡次点击时,上述打算可以过滤逻辑上的重复疑问,但在UI上并没有做任何处置,比如做禁用样式、动画样式等

详解小程序如何防止屡次点击,重复触发事情

作为前端开发,咱们经常会遇到的场景,比如用户点击失掉验证码按钮时,没有反响,大局部用户都会接着点击,这就会形成用户收到多条验证码,这是由于后盾api恳求比拟慢,而客户端体验又做得不到位,造成用户认为没点击到或许是页面假死,在上次恳求还没处置完,就再次点击按钮。

这关于咱们开发来说,这是bug。

如何处置或防止这个疑问呢?普通来说有两种状况。

1、点击事情是口头网络恳求(提交评论,验证码,支付)这种状况下可以在恳求口头之前显示一个形式的加载框,恳求实现后再封锁加载框。

由于小程序在1.1.0版本基础库才允许,因此须要对低版本做兼容处置,代码如下: function showLoading(message) { if () { // 基础库 1.1.0 微信6.5.6版本开局允许,低版本需做兼容处置 ({ title: message, mask: true }); } else { // 低版本驳回Toast兼容处置并将期间设为20秒免得智能隐没 ({ title: message, icon: loading, mask: true, duration: }); }} function hideLoading() { if () { // 基础库 1.1.0 微信6.5.6版本开局允许,低版本需做兼容处置 (); } else { (); }}咱们可以将显示加载框和封锁加载框的代码放在公共的代码外面比如util,而后在经常使用时间接调用即可。

function request() { (加载中...); ({ url: + xxx,{{!buttonClicked?click:}} /><button bindtap={{!buttonClicked?click:}} /><button bindtap=click disabled=buttonClicked />

处置经常使用click事情苹果手机延续点击屡次产生的Bug

测试时,经常使用苹果手机的点击事情会慢300ms,并且延续点击评论框底部会产生多余空白。

评论框应该固定在底部的。

为什么会提前300ms,谷歌是这样说的:在移动阅读器中,当你点击按钮的单击事情时,将会期待大概300ms的期间。

这是由于,阅读器是等着看,假设你是真正口头双击。

Android 设施上的 google阅读器 (Chrome) 32+ 版本,在meta头消息中设置 width=device-width 没有300毫秒的延时,所以也无需经常使用本插件。

产生底部留白是由于提前又屡次点击产生的,只有要处置提前疑问,防止屡次点击即可。

在页面中引入,再添加();即可处置。

完美!

评论