Back to Vueuse

useCountdown

packages/core/useCountdown/index.md

14.3.0815 B
Original Source

useCountdown

Reactive countdown timer in seconds.

Usage

ts
import { useCountdown } from '@vueuse/core'

const countdownSeconds = 5
const { remaining, start, stop, pause, resume } = useCountdown(countdownSeconds, {
  onComplete() {

  },
  onTick() {

  }
})

You can use a ref to change the initial countdown. start() and resume() also accept a new countdown value for the next countdown.

ts
import { useCountdown } from '@vueuse/core'
import { shallowRef } from 'vue'

const countdown = shallowRef(5)
const { start, reset } = useCountdown(countdown, {
})

// change the countdown value
countdown.value = 10

// start a new countdown with 2 seconds
start(2)

// reset the countdown to 4, but do not start it
reset(4)

// start the countdown with the current value of `countdown`
start()