# Countdown 倒计时 ### 介绍 用于实时展示倒计时数值,支持毫秒精度。 ### 安装 ``` javascript import { createApp } from 'vue'; // vue import { Countdown } from '@nutui/nutui'; // taro import { Countdown } from '@nutui/nutui-taro'; const app = createApp(); app.use(Countdown); ``` ### 基础用法 :::demo ```html ``` ::: ### 自定义格式 通过设置 format 属性可实现不同的倒计时展示文本 :::demo ```html ``` ::: ### 毫秒级渲染 :::demo ```html ``` ::: ### 以服务端的时间为准 :::demo ```html ``` ::: ### 异步更新结束时间 :::demo ```html ``` ::: ### 控制开始和暂停倒计时 通过 paused 属性实现倒计时的暂停和重启 :::demo ```html ``` ::: ### 自定义展示样式 :::demo ```html ``` ::: ### 手动控制 通过 ref 获取到组件实例后,可以调用 start、pause、reset 方法。在使用手动控制时,通过 time 属性实现倒计时总时长,单位为毫秒。startTime、endTime 属性失效 :::demo ```html ``` ::: ## API ### Props | 字段 | 说明 | 类型 | 默认值 | ----- | ----- | ----- | ----- | v-model | 当前时间,自定义展示内容时生效 | Object | {} | start-time | 开始时间 | String, Number | Date.now() | end-time | 结束时间 | String, Number | Date.now() | format `v3.1.20` | 时间格式 | String | HH:mm:ss | millisecond `v3.1.20` | 是否开启毫秒级渲染 | Boolean | false | auto-start `v3.1.20` | 是否自动开始倒计时 | Boolean | true | time `v3.1.20` | 倒计时显示时间,单位是毫秒。autoStart 为 false 时生效 | String,Number | 0 | paused | 是否暂停 | Boolean | false | show-days | 是否显示天`v3.1.20(废弃)` | Boolean | false | show-plain-text | 显示为纯文本`v3.1.20(废弃)` | Boolean | false ### format 格式 | 格式 | 说明 | | ----- | ----- | | DD | 天数 | | HH | 小时 | | mm | 分钟 | | ss | 秒数 | | S | 毫秒(1位) | | SS | 毫秒(2位) | | SSS | 毫秒(3位) | ### Events | 字段 | 说明 | 回调参数 | ----- | ----- | ----- | on-end | 倒计时结束时 | 剩余时间戳 | on-paused | 暂停时 | 剩余时间戳 | on-restart | 暂停时 | 剩余时间戳 ### 方法 通过 ref 可以获取到 Countdown 实例并调用实例方法。 | 方法明 | 说明 | | ----- | ----- | | start | 开始倒计时 | | pause | 暂停倒计时 | | reset | 重设倒计时,若 auto-start 为 true,重设后会自动开始倒计时 |