Skip to content

CountTo 数字滚动 ​

uvx-count-to 将数字从起始值滚动到目标值,支持正向、倒计数、缓动、小数、千分位和实例控制。

平台兼容性 ​

AndroidiOS鸿蒙H5微信
3.9+4.11+4.61+4.0+4.41+

平台能力 ​

能力AndroidiOS鸿蒙H5微信
正向滚动、倒计数和缓动√√√√√
小数、千分位和样式√√√√√
开始、暂停和继续控制√√√√√

使用须知

  1. autoplay=true 时,组件挂载以及 start-val、end-val 变化后都会从起始值重新执行。
  2. start() 从 start-val 重新开始;stop() 暂停;restart() 在暂停和继续之间切换,并不是从头重播。
  3. duration 小于 0 时按 0 处理;时长为 0 或起止值相同时会立即完成并触发 end。
  4. separator 必须是非空且非数字字符串才会用于千分位;decimals 小于 0 时按 0 处理。

基础用法 ​

vue
<template>
   <uvx-count-to :end-val="3000" @end="handleEnd"></uvx-count-to>
</template>

倒计数 ​

start-val 大于 end-val 时自动按倒计数处理。

vue
<uvx-count-to :start-val="300" :end-val="0"></uvx-count-to>

小数和分隔符 ​

vue
<template>
   <uvx-count-to
      :start-val="100"
      :end-val="10.55"
      :decimals="2"
      decimal="."
   ></uvx-count-to>
   <uvx-count-to
      :start-val="2000"
      :end-val="1542"
      separator=","
   ></uvx-count-to>
</template>

关闭缓动 ​

vue
<uvx-count-to
   :end-val="1000"
   :duration="1000"
   :use-easing="false"
></uvx-count-to>

手动控制 ​

vue
<template>
   <uvx-count-to
      ref="uCountTo"
      :end-val="3000"
      :autoplay="false"
   ></uvx-count-to>
</template>

<script lang="uts" setup>
const uCountTo = ref<UvxCountToComponentPublicInstance | null>(null);

const handleStart = (): void => {
   uCountTo.value?.start();
};

const handlePauseOrResume = (): void => {
   uCountTo.value?.restart();
};
</script>

自定义样式 ​

vue
<uvx-count-to
   :end-val="3000"
   color="#909399"
   :font-size="40"
   :bold="true"
   u-style="line-height: 48px;"
></uvx-count-to>

API ​

Props ​

属性说明类型默认值平台
start-val起始值,无法转为数字时按 0string | number0全部
end-val目标值,无法转为数字时按 0string | number0全部
duration动画时长,单位 msstring | number2000全部
autoplay是否挂载后自动开始,并响应起止值变化booleantrue全部
decimals小数位数string | number0全部
use-easing是否使用缓动计算booleantrue全部
decimal小数分隔符string | number.全部
color数字颜色string#606266全部
font-size数字字号string | number22全部
bold是否加粗booleanfalse全部
separator千分位分隔符string""全部
u-style文本节点自定义样式,CSS 字符串string""全部
u-class追加到文本节点的外部样式类string""全部

Events ​

事件说明参数平台
end动画到达目标值时触发-全部

Methods ​

方法说明参数平台
start()从 start-val 重新开始-全部
stop()暂停当前动画-全部
restart()在暂停和继续之间切换-全部

参考 ​

uvx-ui · uni-app x 组件库