C

Countdown 倒计时

数据展示

展示倒计数字,常用于短信验证码等待、活动倒计时。

何时使用

需要倒计时功能时使用本组件。

代码示例

基础用法

tsx
import { Countdown } from "@/components/ui/countdown"

export function Basic() {
return <Countdown />
}

变体

tsx
{/* 展示 variant 变体 */}
<div className="flex flex-wrap items-center gap-3">
<Countdown variant="default">Default</Countdown>
<Countdown variant="primary">Primary</Countdown>
<Countdown variant="muted">Muted</Countdown>
</div>

尺寸

tsx
{/* 尺寸对照 */}
<div className="flex flex-wrap items-center gap-3">
<Countdown size="sm">Sm</Countdown>
<Countdown size="default">Default</Countdown>
<Countdown size="lg">Lg</Countdown>
</div>

样式变体

变体

Variant说明默认
default默认样式
primary主要样式
muted

尺寸

Size说明默认
default默认尺寸
sm小号
lg大号

API / Props

Countdown

PropTypeDefault说明
classNamestring自定义样式类名
targetDate | number | stringTarget date/time (ISO string or timestamp)
onFinish() => voidCalled when countdown reaches 0
formatstringHH:mm:ssFormat: D=days, H=hours, M=minutes, S=seconds
...restReact.ComponentProps<"span">透传 <span> 原生属性

注意事项

  • Client Component: 使用 "use client",依赖 React hooks/状态,需在客户端渲染。
  • CVA 变体: 通过 class-variance-authority 管理样式变体,类型安全。变体对象可导出复用。
  • 原生属性: 继承所有 <span> 原生 HTML 属性。

📘 完整交互式示例与控件属性请查看 Storybook 文档