W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
用于實時展示倒計時數(shù)值,支持毫秒精度。
import Vue from 'vue';
import { CountDown } from 'vant';
Vue.use(CountDown);
time
屬性表示倒計時總時長,單位為毫秒。
<van-count-down :time="time" />
export default {
data() {
return {
time: 30 * 60 * 60 * 1000,
};
},
};
通過 format
屬性設(shè)置倒計時文本的內(nèi)容。
<van-count-down :time="time" format="DD 天 HH 時 mm 分 ss 秒" />
倒計時默認(rèn)每秒渲染一次,設(shè)置 millisecond
屬性可以開啟毫秒級渲染。
<van-count-down millisecond :time="time" format="HH:mm:ss:SS" />
通過插槽自定義倒計時的樣式,timeData
對象格式見下方表格。
<van-count-down :time="time">
<template #default="timeData">
<span class="block">{{ timeData.hours }}</span>
<span class="colon">:</span>
<span class="block">{{ timeData.minutes }}</span>
<span class="colon">:</span>
<span class="block">{{ timeData.seconds }}</span>
</template>
</van-count-down>
<style>
.colon {
display: inline-block;
margin: 0 4px;
color: #ee0a24;
}
.block {
display: inline-block;
width: 22px;
color: #fff;
font-size: 12px;
text-align: center;
background-color: #ee0a24;
}
</style>
通過 ref 獲取到組件實例后,可以調(diào)用 start
、pause
、reset
方法。
<van-count-down
ref="countDown"
millisecond
:time="3000"
:auto-start="false"
format="ss:SSS"
@finish="finish"
/>
<van-grid clickable>
<van-grid-item text="開始" icon="play-circle-o" @click="start" />
<van-grid-item text="暫停" icon="pause-circle-o" @click="pause" />
<van-grid-item text="重置" icon="replay" @click="reset" />
</van-grid>
import { Toast } from 'vant';
export default {
methods: {
start() {
this.$refs.countDown.start();
},
pause() {
this.$refs.countDown.pause();
},
reset() {
this.$refs.countDown.reset();
},
finish() {
Toast('倒計時結(jié)束');
},
},
};
參數(shù) | 說明 | 類型 | 默認(rèn)值 |
---|---|---|---|
time | 倒計時時長,單位毫秒 | number | string | 0
|
format | 時間格式 | string | HH:mm:ss
|
auto-start | 是否自動開始倒計時 | boolean | true
|
millisecond | 是否開啟毫秒級渲染 | boolean | false
|
格式 | 說明 |
---|---|
DD | 天數(shù) |
HH | 小時 |
mm | 分鐘 |
ss | 秒數(shù) |
S | 毫秒(1 位) |
SS | 毫秒(2 位) |
SSS | 毫秒(3 位) |
事件名 | 說明 | 回調(diào)參數(shù) |
---|---|---|
finish | 倒計時結(jié)束時觸發(fā) | - |
change | 倒計時變化時觸發(fā) | timeData: TimeData |
名稱 | 說明 | 參數(shù) |
---|---|---|
default | 自定義內(nèi)容 | timeData: TimeData |
名稱 | 說明 | 類型 |
---|---|---|
days | 剩余天數(shù) | number |
hours | 剩余小時 | number |
minutes | 剩余分鐘 | number |
seconds | 剩余秒數(shù) | number |
milliseconds | 剩余毫秒 | number |
通過 ref 可以獲取到 CountDown 實例并調(diào)用實例方法,詳見組件實例方法。
方法名 | 說明 | 參數(shù) | 返回值 |
---|---|---|---|
start | 開始倒計時 | - | - |
pause | 暫停倒計時 | - | - |
reset | 重設(shè)倒計時,若 auto-start 為 true ,重設(shè)后會自動開始倒計時 |
- | - |
組件提供了下列 Less 變量,可用于自定義樣式,使用方法請參考主題定制。
名稱 | 默認(rèn)值 | 描述 |
---|---|---|
@count-down-text-color | @text-color
|
- |
@count-down-font-size | @font-size-md
|
- |
@count-down-line-height | @line-height-md
|
- |
如果你遇到了在 iOS 上倒計時不生效的問題,請確認(rèn)在創(chuàng)建 Date 對象時沒有使用new Date('2020-01-01')
這樣的寫法,iOS 不支持以中劃線分隔的日期格式,正確寫法是new Date('2020/01/01')
。
對此問題的詳細(xì)解釋:stackoverflow。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: