UNPKG

nutui-uniapp

Version:

京东风格的轻量级移动端 Uniapp、Vue3 组件库(支持小程序开发)

111 lines (104 loc) 2.76 kB
import type { ExtractPropTypes } from 'vue' import { commonProps, isBoolean, makeNumberProp, makeStringProp, truthProp } from '../_utils' export const countupProps = { ...commonProps, /** * @description 初始数字 */ initNum: makeNumberProp(0), /** * @description 结束数字 */ endNum: makeNumberProp(0), /** * @description 间隔数字,目前仅支持基础用法 */ speed: makeNumberProp(1), /** * @description 保留小数点后几位 */ toFixed: makeNumberProp(0), /** * @description 触发数字滚动的标识 */ startFlag: truthProp, /** * @description 滚动一次运行时间 */ during: makeNumberProp(1000), /** * @description 数字宽度,常用于自定义无缝滚动 */ numWidth: makeNumberProp(20), /** * @description 数字高度,常用于自定义无缝滚动(抽奖功能必传) */ numHeight: makeNumberProp(20), scrolling: Boolean, /** * @description 要变化的数字(用于自定义图片,`initNum`、`endNum` 在此无效) */ customChangeNum: makeNumberProp(1), /** * @description 自定义图片(建议使用雪碧图实现,使用抽奖功能必须使用雪碧图) */ customBgImg: makeStringProp(''), /** * @description 图片中数字之间可能会存在间距 */ customSpacNum: makeNumberProp(0), /** * @description 抽奖功能传 machine,可选值为 `machine` `' '` */ type: makeStringProp(''), /** * @description 奖品个数,一共多少个奖品,必传 */ machinePrizeNum: makeNumberProp(0), /** * @description 抽奖位,即滚动几个,必传 */ machineNum: makeNumberProp(3), /** * @description 中奖图标,图标在雪碧图中的位置 */ machinePrizeLevel: makeNumberProp(0), /** * @description 滚动圈数 */ machineTurnMore: makeNumberProp(0), } export type CountUpProps = ExtractPropTypes<typeof countupProps> export const countupEmits = { scrollEnd: (val?: boolean) => isBoolean(val) || val === undefined, } export type CountUpEmits = typeof countupEmits export interface IData { valFlag: boolean current: number sortFlag: string initDigit1: number initDigit2: number to0_10: number[] to10_0: Array<number> timer: null | any totalCount: number // 正整数 pointNum: number // 小数位 numberVal: number // 数字 num_total_len: number // 数字长度 relNum: number // 去除小数点 customNumber: number prizeLevelTrun: number prizeY: Array<any> prizeYPrev: Array<any> // machineTransition: 'none', finshMachine: number notPrize: Array<any> typeMachine: string } export interface CountUpInst { /** * @description 抽奖 */ machineLuck: () => void }