Skip to content

Button 增强按钮

说明

基于 el-button 组件和 useDebounceFn / useThrottleFn 函数封装,支持 clickdblclick及防抖、节流控制:

(1)通过 model 属性可以设置启动防抖或节流,此时 delay 默认为300ms

(2)仅绑定单击事件:不设置 delay 时立即响应,与普通按钮行为一致;设置 delay 时根据 model 决定是否应用防抖或节流

(3)同时绑定单击和双击事件:经过双击检测时间(dbl-delay)后响应,然后根据 delaymodel 设置决定是否应用防抖或节流

组件内部实现了单击和双击的智能区分机制,双击时不会触发单击事件,确保交互体验的准确性。dbl-delay 参数仅在绑定双击事件时生效,用于控制双击检测时间阈值,必须大于等于 delay 参数

用法示例

单、双击

防抖

节流

API

Attributes

属性名说明类型默认值
model模式选择:debounce(防抖)或 throttle(节流),不设置时不启用防抖或节流enum
delay防抖/节流间隔时间,单位ms,不设置时如果设置了model则默认为300msnumber300
max-wait最大等待时间,单位ms,仅在防抖模式下生效number
dbl-delay双击检测时间阈值,单位ms,用于区分单击和双击,必须大于等于delaynumber300
size尺寸enum
type按钮类型;color 属性优先级更高enum
plain是否为朴素按钮,即无背景颜色booleanfalse
text是否为文字按钮booleanfalse
bg是否显示文字按钮背景颜色booleanfalse
link是否为链接按钮booleanfalse
round是否为圆角按钮booleanfalse
circle是否为圆形按钮booleanfalse
loading是否为加载中状态booleanfalse
loading-icon自定义加载中状态图标组件string / Component'Loading'
disabled按钮是否为禁用状态booleanfalse
icon图标组件string / Component
autofocus原生 autofocus 属性booleanfalse
native-type原生 type 属性enum'button'
auto-insert-space两个中文字符之间自动插入空格(仅当文本长度为 2 且所有字符均为中文时才生效)booleanfalse
color自定义按钮颜色, 并自动计算 hoveractive 触发后的颜色string
darkdark 模式, 意味着自动设置 color 为 dark 模式的颜色booleanfalse
tag自定义元素标签string / Component'button'

Slots

名称说明参数
default自定义默认内容
loading自定义加载中组件
icon自定义图标组件

Exposes

名称说明类型
ref按钮 html 元素object
size按钮尺寸object
type按钮类型object
disabled按钮已禁用object
shouldAddSpace是否在两个字符之间插入空格object