当前位置: 首页 > news >正文

做网站 前端怎么建立图片的网站

做网站 前端,怎么建立图片的网站,查看一个网站开发语言,晋城网站开发在前端项目开发中,点击事件的防抖是一个永远无法错开的点,特别是针对一些复杂的业务场景,如果不做好防抖操作,就会导致页面或功能触发多次,引发异常或闪退。 在Flutter中可以通过扩展函数的特性 对Function增加全局扩…

在前端项目开发中,点击事件的防抖是一个永远无法错开的点,特别是针对一些复杂的业务场景,如果不做好防抖操作,就会导致页面或功能触发多次,引发异常或闪退。

在Flutter中可以通过扩展函数的特性 对Function增加全局扩展函数,实现防抖效果。

具体如下:

extension FunctionExt on Function {VoidCallback throttle() {return FunctionProxy(this).throttle;}// 立即执行目标操作,同时给出一个延迟的时间,// 在该时间范围内如果再次触发了事件,该次事件会被忽略,直到超过该时间范围后触发事件才会被处理。VoidCallback throttleWithTimeout({int? timeout}) {return FunctionProxy(this, timeout: timeout).throttleWithTimeout;}// 在触发事件时,不立即执行目标操作,而是给出一个延迟的时间,// 在该时间范围内如果再次触发了事件,则重置延迟时间,直到延迟时间结束才会执行目标操作。VoidCallback debounce({int? timeout}) {return FunctionProxy(this, timeout: timeout).debounce;}
}class FunctionProxy {static final Map<String, bool> _funcThrottle = {};static final Map<String, Timer> _funcDebounce = {};final Function? target;final int timeout;FunctionProxy(this.target, {int? timeout}) : timeout = timeout ?? 500;// 节流(默认延迟)void throttle() async {String key = hashCode.toString();bool enable = _funcThrottle[key] ?? true;if (enable) {_funcThrottle[key] = false;try {await target?.call();} catch (e) {rethrow;} finally {_funcThrottle.remove(key);}}}// 节流(自定义延迟)void throttleWithTimeout() {String key = hashCode.toString();bool enable = _funcThrottle[key] ?? true;if (enable) {_funcThrottle[key] = false;Timer(Duration(milliseconds: timeout), () {_funcThrottle.remove(key);});target?.call();}}//延迟顺序执行的防抖void debounce() {String key = hashCode.toString();Timer? timer = _funcDebounce[key];timer?.cancel();timer = Timer(Duration(milliseconds: timeout), () {Timer? t = _funcDebounce.remove(key);t?.cancel();target?.call();});_funcDebounce[key] = timer;}
}

在使用的地方

              onBackPressed: () {}.throttleWithTimeout(timeout: 500)

这种方案只是提供了一种防抖的实现,当然也可以自定义通用的Button,通过点击事件触发的时间自行判断处理。

http://www.laogonggong.com/news/59895.html

相关文章:

  • 汉中网站制作做仿牌网站
  • 阿里云可以几个网站推销产品的万能句子
  • 网站服务器租用技巧申请中网可信网站
  • 一百互联网站建设珠海航展表演
  • 手机网站用什么软件对电子商务网站建设与管理的理解
  • 遂宁网站开发南康家具网站建设
  • 正规的常州网站推广广东省建设安全中心网站
  • mip 网站模板怎么做网站音乐
  • 网站建设公司源码京津冀协同发展的基础
  • 模仿网站怎么做国外创意摄影网站
  • 洛阳建站公司效果本地南昌网站建设
  • 工程公司手机网站360全景网站怎么做
  • 中国建设银行保函查询网站盐城经济技术开发区建设局网站
  • 旅游网站模板htmlwordpress slug translate
  • 手机网站建设平台合同南京seo关键词优化服务
  • 为什么要做网站优化东莞常平地图全图高清版
  • 淘宝客网站下载网上超市怎么做
  • 建设第三方公众号平台网站教程土地违法建设投诉网站
  • 信息管理系统网站开发教程企业融资计划
  • 网站tdk优化西北苗木网陕西泽基生态建设有限公司网站
  • 代做毕业设计网站多少钱中国创业项目网
  • 网站排行咸阳学校网站建设联系电话
  • 网站建设谢词php企业门户网站模板
  • 未来做哪个网站能致富企业网站建设方案模板
  • 网站空间和数据库网址推广主要做些什么内容
  • 门户网站栏目维护建设方案新乡网站关键字优化
  • 泰州网站建设优化建站2017主流网站风格
  • 网站建设项目实施方案lnmp wordpress 数据库
  • 刘家窑网站建设永久免费的仓库
  • 仿励志一生网站整站源码 带数据html5 ASP 演示网站