更新记录
1.0.1(2026-04-09)
下载此版本
修改md
1.0.0(2026-04-09)
下载此版本
初始化
平台兼容性
uni-app(4.85)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
- |
√ |
√ |
number-scroll 数字滚动动画组件
组件简介
number-scroll 是一个轻量级的数字滚动动画组件,支持自定义动画时长、千分位分隔符、多种缓动函数,兼容 H5、微信小程序、支付宝小程序、App Vue 等 uni-app 全平台。
适用于:
- 数据大屏 / 统计看板
- 金额、成交量动态展示
- 倒计时/正计时数字效果
平台兼容性
| 平台 |
兼容性 |
备注 |
| H5 |
✅ 完全支持 |
使用 requestAnimationFrame |
| 微信小程序 |
✅ 完全支持 |
使用条件编译 + setInterval |
| 支付宝小程序 |
✅ 完全支持 |
使用条件编译 + setInterval |
| App Vue |
✅ 完全支持 |
使用条件编译 + setInterval |
| 抖音/快手小程序 |
✅ 完全支持 |
使用条件编译 + setInterval |
属性 Props
| 属性名 |
类型 |
默认值 |
必填 |
说明 |
value |
Number |
0 |
否 |
目标数值(最终要滚动到的值) |
startValue |
Number |
0 |
否 |
起始数值(动画开始时的值) |
duration |
Number |
1000 |
否 |
动画时长,单位毫秒 |
decimal |
Number |
0 |
否 |
保留的小数位数 |
separator |
Boolean |
false |
否 |
是否显示千分位分隔符(如 1,234.56) |
color |
String |
'#333333' |
否 |
数字颜色 |
fontSize |
String |
'32rpx' |
否 |
字体大小(支持 rpx/px) |
easing |
String |
'easeOut' |
否 |
缓动函数,可选:linear / easeIn / easeOut / easeInOut |
autoplay |
Boolean |
true |
否 |
是否在 value 变化时自动开始动画 |
事件 Events
| 事件名 |
参数 |
说明 |
complete |
- |
动画完成时触发 |
方法 Methods
通过 ref 获取组件实例后,可调用以下方法:
| 方法名 |
参数 |
说明 |
start() |
- |
手动开始动画(从 startValue 滚动到 value) |
reset() |
- |
重置为 startValue 并停止动画 |
使用示例
基础用法
<template>
<view class="page">
<number-scroll
:value="targetValue"
:start-value="0"
:duration="2000"
:decimal="2"
:separator="true"
color="#e74c3c"
font-size="48rpx"
@complete="onComplete"
/>
<button @click="targetValue = 99999.99">开始滚动</button>
</view>
</template>
<script setup>
import { ref } from 'vue'
import numberScroll from '@/uni_modules/gck-number-scroll/components/gck-number-scroll/gck-number-scroll.vue'
const targetValue = ref(0)
const onComplete = () => {
console.log('动画完成')
}
</script>