コンテンツへスキップ

watchDebounced

カテゴリー
エクスポートサイズ
786 B
最終変更
先週
エイリアス
debouncedWatch

デバウンスされた監視

デモ

このデモでは、遅延は1000msに設定され、maxWaitは5000msに設定されています。

入力

更新回数: 0

使い方

watchと同様ですが、コールバック関数に適用される追加オプションdebouncemaxWaitを提供します。

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

watchDebounced(
  source,
  () => { console.log('changed!') },
  { debounce: 500, maxWait: 1000 },
)

これは基本的に次のコードのショートハンドです

ts
import { debounceFilter, watchWithFilter } from '@vueuse/core'

watchWithFilter(
  source,
  () => { console.log('changed!') },
  {
    eventFilter: debounceFilter(500, { maxWait: 1000 }),
  },
)

型宣言

typescript
export interface WatchDebouncedOptions<Immediate>
  extends WatchOptions<Immediate>,
    DebounceFilterOptions {
  debounce?: MaybeRefOrGetter<number>
}
export declare function watchDebounced<
  T extends Readonly<WatchSource<unknown>[]>,
  Immediate extends Readonly<boolean> = false,
>(
  sources: [...T],
  cb: WatchCallback<MapSources<T>, MapOldSources<T, Immediate>>,
  options?: WatchDebouncedOptions<Immediate>,
): WatchStopHandle
export declare function watchDebounced<
  T,
  Immediate extends Readonly<boolean> = false,
>(
  source: WatchSource<T>,
  cb: WatchCallback<T, Immediate extends true ? T | undefined : T>,
  options?: WatchDebouncedOptions<Immediate>,
): WatchStopHandle
export declare function watchDebounced<
  T extends object,
  Immediate extends Readonly<boolean> = false,
>(
  source: T,
  cb: WatchCallback<T, Immediate extends true ? T | undefined : T>,
  options?: WatchDebouncedOptions<Immediate>,
): WatchStopHandle
export { watchDebounced as debouncedWatch }

ソース

ソースデモドキュメント

貢献者

Anthony Fu
sun0day
webfansplz
Anthony Fu
vaakian X
lvjiaxuan

変更履歴

v12.0.0-beta.1 2024年11月21日
0a9ed - feat!: Vue 2のサポートを終了、バンドルを最適化し、クリーンアップしました (#4349)
v10.0.0-beta.4 2023年4月13日
4d757 - feat(types)!: MaybeComputedRefMaybeRefOrGetterにリネーム

MITライセンスの下でリリースされています。