Lzh on GitHub

防抖一个 ref 值的执行。

Demo

使用

import { refDebounced } from '@vueuse/core'
import { shallowRef } from 'vue'

const input = shallowRef('foo')
const debounced = refDebounced(input, 1000)

input.value = 'bar'
console.log(debounced.value) // 'foo'

await sleep(1100)

console.log(debounced.value) // 'bar'

你还可以传入一个可选的第三个参数,包含 maxWait 选项。详情请参见 useDebounceFn。

推荐阅读:

类型声明

export type RefDebouncedReturn<T = any> = Readonly<Ref<T>>
/**
 * Debounce updates of a ref.
 *
 * @return A new debounced ref.
 */
export declare function refDebounced<T>(
  value: Ref<T>,
  ms?: MaybeRefOrGetter<number>,
  options?: DebounceFilterOptions,
): RefDebouncedReturn<T>
export { refDebounced as debouncedRef, refDebounced as useDebounce }