news 2026/6/9 22:30:26

Compose 封装 - 点击防抖

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Compose 封装 - 点击防抖

一、概念

简单场景(如登录按钮)使用标记,实现成本低。定义一个布尔状态 isLoading,业务代码开始时若为 true 则直接return,在成功后或finally中设为 false。
搜索框延迟执行。
需立即反馈一段时间内只执行一次。

二、基于时长

2.1 封装为Modifier

/** * 双击防抖 */ fun Modifier.clickableDebounce( duration: Long = 5000L, onClick: () -> Unit ) = composed { var lastClick by remember { mutableLongStateOf(0L) } this.then( Modifier.clickable( onClick = { val currentTime = System.currentTimeMillis() if (currentTime - lastClick >= duration) { onClick() lastClick = currentTime } }, interactionSource = remember { MutableInteractionSource() }, indication = null ) ) }

2.2 封装为函数

适用于自带点击回调的组件如Button。

/** * 双击防抖(适用于自带点击回调的组件如Button) */ inline fun onClickDebounce ( lastClickTime: Long, onLastClickTimeChange: (Long) -> Unit, duration: Long = 5000L, onClick: () -> Unit, ) { val currentTime = System.currentTimeMillis() if (currentTime - lastClickTime >= duration) { onLastClickTimeChange(currentTime) onClick() } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:59:13

学长亲荐!10个AI论文网站测评,本科生毕业论文必备

学长亲荐!10个AI论文网站测评,本科生毕业论文必备 2025年AI论文工具测评:为何值得一看? 随着人工智能技术的不断进步,越来越多的本科生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的平台&…

作者头像 李华
网站建设 2026/6/10 12:36:09

PHP HTTP 指南

PHP HTTP 指南 引言 PHP 是一种广泛使用的开源服务器端脚本语言,常用于开发动态网站和应用程序。HTTP(超文本传输协议)是互联网上应用最为广泛的网络协议之一,它定义了客户端与服务器之间交换数据的格式。本文将深入探讨 PHP 在处理 HTTP 请求和响应方面的应用,包括请求…

作者头像 李华
网站建设 2026/6/10 0:44:46

深度学习毕设项目:基于机器学习的肝病患者智能诊断及系统实现

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华