美文网首页FlutterFlutter
flutter:如何实现防抖,防重复点击

flutter:如何实现防抖,防重复点击

作者: 李小轰 | 来源:发表于2021-06-17 20:12 被阅读0次

使用时间差方案,实现防重复点击

class ThrottleUtil {
  static const Duration _KDelay = Duration(milliseconds: 500);
  var enable = true;

  ///防止重复点击
  ///func 要执行的方法
  Function throttle(
    Function func, {
    Duration delay = _KDelay,
  }) {
    return () {
      if (enable) {
        func();
        enable = false;
        Future.delayed(delay, () {
          enable = true;
        });
      }
    };
  }
}

使用方式:

//声明局部变量
ThrottleUtil throttleUtil = ThrottleUtil();
//点击事件
onPressed: throttleUtil.throttle(() {
          setState(() {
            _counter++;
          });
        }

缺点:每个防重复点击的事件都需要持有各自的 throttleUtil 对象,throttleUtil 使用时间差进行判断重复点击,暂不支持混用。

相关文章

  • flutter:如何实现防抖,防重复点击

    使用时间差方案,实现防重复点击 使用方式: 缺点:每个防重复点击的事件都需要持有各自的 throttleUtil ...

  • 函数节流与函数防抖

    函数节流 适用场景:按钮防重复点击 函数防抖 适用场景:input输入框搜索

  • js实现点击防抖

    js防抖可以让被调用的函数在连续高频操作过程中只调用一次,使用场景:有oninput, onmousemove, ...

  • 项目常用代码

    节流 } 防抖 } 页面滚动(requestAnimationFrame) vue全局点击防抖

  • 防抖点击

    Hook反射https://blog.csdn.net/qq_32532321/article/details/8...

  • 手写代码

    节流: 重复操作被忽略,直到完成 防抖: 重复操作重置定时器 实现new 实现call和apply 实现 Prom...

  • android 点击事件防抖 防止重复点击

    第一种继承OnClickListener 第二种点击时,动态的在点击控件上加上tag,存放时间戳 使用

  • 概念书面解读

    防抖和节流 防抖:触发高频事件后n秒内只执行一次,如果n秒内再次触发,则重新计算时间,多用于按钮防止重复点击 in...

  • vue防重复点击(指令实现)

    防重复点击或提交,在项目中是必不可少,如果封装成一个组件,但是点击的按钮的样式千差万别,有 和 有 各种实现,很难...

  • vue防重复点击(指令实现)

    快速点击按钮会重复多次调用接口,防止出现这样的情况全局定义,方便调用新建plugins.js 在main.js引用...

网友评论

    本文标题:flutter:如何实现防抖,防重复点击

    本文链接:https://www.haomeiwen.com/subject/uhxhyltx.html