Skip to content

BizCountdownButton 倒计时按钮 ​

点击后立即禁用并显示「xx 秒后重发」,倒计时结束自动恢复,可重新点击。用于验证码发送、失败重试防连点、敏感操作冷却。type / size / plain 等属性透传内部 el-button。

基础用法 ​

duration 控制秒数(示例 10s);手机号校验不通过时 reset() 立即恢复按钮。

文案定制与编程式控制 ​

start-text / counting-text({time} 占位)/ end-text 全量文案定制;start(seconds) 编程式进入任意时长倒计时、stop() 冻结当前状态、reset() 恢复初始;end 事件在倒计时结束时触发(常用于刷新可重试状态)。

验证码倒计时持久化(storage-key) ​

storage-key="demo-sms-cooldown":点击发送后刷新当前页面(F5),按钮仍显示剩余秒数—— 结束时间戳持久化在 localStorage,倒计时自然结束或 reset() 后自动清除。真实高频痛点:用户输错验证码刷新页面重填,若无持久化会被反复触发短信。
验证码高频痛点:用户输错刷新页面重填,倒计时不应归零放行重发。storage-key 将结束时间戳存 localStorage,刷新 / 重开页面自动恢复剩余秒数,倒计时自然结束或 reset() 后清除。

邮箱激活重发 ​

激活邮件已发送至 dev@example.cn,
注册流程:激活邮件 30s 冷却,start / counting / end 三段文案完整定制(link 弱样式不抢视觉)。

失败重试冷却 ​

失败后进入冷却防雪崩:避免下游故障时的重试风暴
同步场景:失败进入 10s 冷却防重试风暴(countingText=「冷却中 {time}s」),成功后按钮永久 disabled。

协议强阅读 ​

1.1 本协议是您与示例公司之间关于使用本服务所订立的契约…… 1.2 您应遵守相关法律法规,不得利用本服务从事违法违规活动…… 1.3 我们将按《隐私政策》收集与使用必要信息……(滚动即视为阅读)
合规场景:倒计时结束(end 事件)才解锁「同意协议」勾选框——防秒勾的轻量实现。

Props ​

属性名类型默认值说明
durationnumber60倒计时秒数
start-textstring'发送验证码'初始文案
counting-textstring'{time}s 后重发'倒计时中文案,{time} 为剩余秒数占位
end-textstring'重新发送'倒计时结束后文案
disabledbooleanfalse禁用(与倒计时互不影响)
storage-keystring—倒计时持久化:结束时间戳存 localStorage,刷新/重开页面自动恢复剩余秒数,结束后清除

其余 attrs 透传内部 el-button。

Events ​

事件名参数说明
click(event: MouseEvent)点击(随即进入倒计时)
end—倒计时结束

Slots ​

插槽名说明
default覆盖按钮文案(默认按状态自动显示)

Expose ​

属性/方法说明
start(seconds?)编程式进入倒计时(可覆盖秒数)
reset()中止倒计时并回初始文案
stop()仅停止倒计时(保持当前文案状态)