倒计时组件的封装(获取验证码)

652 阅读1分钟

今天给大家分享一个开箱即用的倒计时组件,用其来获取验证码。

1.npm i @vueuse/core 下包

const { pause: 暂停, resume: 开始 } = useIntervalFn(() => {
  // 回调
}, 间隔时长, {immediate: 是否立即执行})

2.将一下代码放入可复用的公共组件中。 我放的位置(在utils中新建hooks.ts)

代码:

import { useIntervalFn } from "@vueuse/core"

// 倒计时功能的封装

export function useCountDown(){

const counter = ref(0)

const { pause, resume} = useIntervalFn(() => {

if(counter.value === 0) {

pause()

} else {

counter.value--

}

}, 1000, { immediate: false})

const start = (num: number) => {

counter.value = num

resume()

}

return { counter, start }

}

在组件中的使用:

image.png

在组件的template中的写法:

image.png