import{e as t,o as d,G as n}from"./vendor.e1f99099.js";const u={class:"markdown-body"},e=[n('

countup组件

介绍

countup 数字滚动组件,用于数字的动态效果展示

安装

import { createApp } from 'vue';\n// vue\nimport { CountUp } from '@nutui/nutui';\n// taro\nimport { CountUp } from '@nutui/nutui-taro';\n\nconst app = createApp();\napp.use(CountUp);\n

代码演示

基本用法

<nut-countup :init-num='0' :end-num='200'></nut-countup>\n\n<nut-countup :init-num='150.00' :end-num='0.00' :speed='2.62' :to-fixed='2'></nut-countup>\n\n<nut-countup :init-num='1000.00' :end-num='0.00' :speed='6.3' :start-flag='startNum' :to-fixed='2'></nut-countup>\n

数字滚动

<nut-countup :scrolling="true" :init-num='17.618' :during="600"></nut-countup>\n

自定义数字图片展示

<nut-countup\n    :custom-change-num="customNumber"\n    :custom-bg-img="bgImage"\n    :custom-spac-num="11"\n    :num-width="33"\n    :num-height="47"\n    :during="5000"\n>\n</nut-countup>\n
export default {\n    data() {\n        return {\n            customNumber: 618, \n            bgImage: 'https://img10.360buyimg.com/imagetools/jfs/t1/133024/3/2251/2646/5ee7549aE8dc02d7e/de6901b6c72db396.png'\n        };\n    },\n    methods: {\n        run() {\n            let timer = null;\n            timer = setInterval(() => {\n                this.customNumber = Math.floor(Math.random() * (700 - 100 + 1) + 100);\n            }, 5000);\n        }\n    },\n    mounted() {\n        this.run();\n    }\n};\n

抽奖

<nut-countup\n    ref="countup-machine"\n    type="machine"\n    :machine-num="machineNum"\n    :machine-prize-num="5"\n    :machine-prize-level="prizeLevel"\n    :custom-bg-img="bgImage"\n    :num-width="100"\n    :num-height="100"\n    :during="3000"\n    @scroll-end="scrollAniEnd"\n>\n</nut-countup>\n<nut-button @click="startRole" :disabled="startFlag">抽奖</nut-button>\n
export default {\n    data() {\n        return {\n            startFlag: false,\n            machineNum: 3,\n            bgImage: 'https://img10.360buyimg.com/imagetools/jfs/t1/121466/20/6784/28830/5f06e7f2Edbb8998c/9bdd9e7b24dff9fe.png',\n            prizeLevel: 0\n        };\n    },\n    methods: {\n        startRole() {\n            this.prizeLevel = Math.floor(Math.random() * 5 + 1);\n            this.startFlag = true;\n            this.$refs['countup-machine'].machineLuck();\n        },\n        scrollAniEnd() {\n            this.$toast.text('恭喜中奖!!!');\n            setTimeout(() => {\n                this.startFlag = false;\n            }, 300);\n        }\n    }\n};\n

Prop

字段说明类型默认值
init-num初始数字Number0
end-num结束数字Number0
speed间隔数字,目前仅支持基本用法Number1
to-fixed保留小数点后几位Number以传入的数字为准
start-flag触发数字滚动的标识Booleantrue
during滚动一次运行时间Number1000
num-width数字宽度,常用于自定义无缝滚动Number20
num-height数字高度,常用于自定义无缝滚动(抽奖功能必传)Number20
scrolling用于数字滚动展示Booleanfalse
custom用于自定义图片数字滚动Booleanfalse
custom-change-num要变化的数字(用于自定义图片,initNum\\endNum在此无效)Number1
custom-bg-img自定义图片(建议使用雪碧图实现,使用抽奖功能必须使用雪碧图)--
custom-spac-num图片中数字之间可能会存在间距Number0
type使用抽奖功能必传“machine”string‘’
machine-prize-num奖品个数,一共多少个奖品,必传number4
machine-num抽奖位,即滚动几个,必传number3
machine-prize-level中奖图标,图标在雪碧图中的位置number0
machine-trun-more滚动圈数number0

说明:抽奖功能需要结合图标位置计算,故需传入雪碧图中单个图标的高度 num-height;中奖奖品根据雪碧图中的奖品位数来定位,从 1 到 N;

Event

字段说明回调参数
scroll-end滚动结束后回调函数-
',21)],o={setup:n=>(n,o)=>(d(),t("div",u,e))};export{o as default};