美文网首页
flutter按钮防止重复点击

flutter按钮防止重复点击

作者: Crassus | 来源:发表于2022-10-10 13:27 被阅读0次

    参考网上很多版本,结合体验下来不是很好,改造这样效果,可以执行第一次点击,后面点击会被取消拦截;

    import 'dart:async';
    class CommonUtils{
      static Function debounce(Function fn, [int t = 300]) {
        Timer _debounce;
        return () {
          // 还在时间之内,抛弃上一次
          if (_debounce?.isActive ?? false) {
            _debounce.cancel();
          }else{
            fn();
          }
          _debounce = Timer(Duration(milliseconds: t), () {
            _debounce.cancel();
            _debounce = null;
          });
        };
      }
    }
    

    方法使用
    各种点击事件

    不带参数事件
    onTap: CommonUtils.debounce(_showDevices)
    带参数事件
    onPressed: CommonUtils.debounce((){
             }),
    

    相关文章

      网友评论

          本文标题:flutter按钮防止重复点击

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