R
数据展示AnimatedCounter里程表逐位进位格式化

数字滚动

像机械里程表一样的数字滚动,逐位进位,支持小数、千分位与前后缀。

¥128,400.0 起

上面的组件正在页面上实时运行,可以直接交互。

安装

在项目根目录执行下面的命令,组件源码会写入 @/components/ui/animated-counter.tsx。

npx shadcn@latest add swamimalode07/rare-ui/animated-counter

用法

组件默认导出(或具名导出)即可直接使用,不需要额外的 Provider。

animated-counter.tsx
import { AnimatedCounter } from "@/components/ui/animated-counter"
export function Demo() {
return (
<AnimatedCounter
value={128_400}
decimals={1}
duration={1.2}
separator=","
prefix="¥"
suffix=" 起"
className="text-5xl font-semibold"
/>
)
}

属性

下表列出了该组件公开的主要属性,所有未列出的原生属性都会透传到根元素。

属性类型默认值说明
valuenumber—目标数值。
decimalsnumber0小数位数。
durationnumber—滚动时长(秒)。
padStartnumber—最少显示位数,不足补零。
separatorstring—千分位分隔符。
decimalSeparatorstring—小数点符号。
grouping"western" | "indian""western"分组规则。
prefixReactNode—前缀。
suffixReactNode—后缀。