コンテンツにスキップ

useIdle

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

ユーザーが非アクティブかどうかを追跡します。

デモ

デモンストレーションのため、このデモではアイドルタイムアウトが5秒に設定されています(デフォルトは1分)。
アイドル状態: false
非アクティブ時間: 0秒

使用法

js
import { useIdle } from '@vueuse/core'

const { idle, lastActive } = useIdle(5 * 60 * 1000) // 5 min

console.log(idle.value) // true or false

プログラムによるリセット

js
import { useCounter, useIdle } from '@vueuse/core'
import { watch } from 'vue'

const { inc, count } = useCounter()

const { idle, lastActive, reset } = useIdle(5 * 60 * 1000) // 5 min

watch(idle, (idleValue) => {
  if (idleValue) {
    inc()
    console.log(`Triggered ${count.value} times`)
    reset() // restarts the idle timer. Does not change lastActive value
  }
})

コンポーネントの使用法

この関数は、@vueuse/componentsパッケージを介して、レンダリングレスコンポーネントバージョンも提供します。使用方法の詳細はこちら

vue
<template>
  <UseIdle v-slot="{ idle }" :timeout="5 * 60 * 1000">
    Is Idle: {{ idle }}
  </UseIdle>
</template>

型宣言

typescript
export interface UseIdleOptions
  extends ConfigurableWindow,
    ConfigurableEventFilter {
  /**
   * Event names that listen to for detected user activity
   *
   * @default ['mousemove', 'mousedown', 'resize', 'keydown', 'touchstart', 'wheel']
   */
  events?: WindowEventName[]
  /**
   * Listen for document visibility change
   *
   * @default true
   */
  listenForVisibilityChange?: boolean
  /**
   * Initial state of the ref idle
   *
   * @default false
   */
  initialState?: boolean
}
export interface UseIdleReturn {
  idle: Ref<boolean>
  lastActive: Ref<number>
  reset: () => void
}
/**
 * Tracks whether the user is being inactive.
 *
 * @see https://vueuse.dokyumento.jp/useIdle
 * @param timeout default to 1 minute
 * @param options IdleOptions
 */
export declare function useIdle(
  timeout?: number,
  options?: UseIdleOptions,
): UseIdleReturn

ソース

ソースデモドキュメント

貢献者

Anthony Fu
wheat
Anthony Fu
Intaek H
nahvego
Hawtim
vaakian X
Jelf
Dan Mindru
btea
Shinigami
Alex Kozack
Antério Vieira

変更履歴

v12.0.0-beta.1 2024年11月21日
0a9ed - feat!: Vue 2 のサポートを終了、バンドルを最適化し、クリーンアップ (#4349)
v10.0.0-beta.1 2023/03/23 にリリース
f4d35 - feat: reset 機能を追加 (#2880)
v9.11.0 2023/01/17 にリリース
d5321 - fix(components): defineComponent を pure としてマーク (#2623)

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