useScrollLock
要素のスクロールをロックします。
デモ
左上
左下
右上
右下
スクロール
isLocked false
使用方法
vue
<script setup lang="ts">
import { useScrollLock } from '@vueuse/core'
const el = ref<HTMLElement | null>(null)
const isLocked = useScrollLock(el)
isLocked.value = true // lock
isLocked.value = false // unlock
</script>
<template>
<div ref="el" />
</template>
ディレクティブの使用
この関数は、`@vueuse/components`パッケージを介してディレクティブバージョンも提供します。使用方法の詳細はこちら。
vue
<script setup lang="ts">
import { vScrollLock } from '@vueuse/components'
const data = ref([1, 2, 3, 4, 5, 6])
const isLocked = ref(false)
const toggleLock = useToggle(isLocked)
</script>
<template>
<div v-scroll-lock="isLocked">
<div v-for="item in data" :key="item">
{{ item }}
</div>
</div>
<button @click="toggleLock()">
Toggle lock state
</button>
</template>
型定義
typescript
/**
* Lock scrolling of the element.
*
* @see https://vueuse.dokyumento.jp/useScrollLock
* @param element
*/
export declare function useScrollLock(
element: MaybeRefOrGetter<
HTMLElement | SVGElement | Window | Document | null | undefined
>,
initialState?: boolean,
): WritableComputedRef<boolean, boolean>
ソース
貢献者
変更ログ
v12.0.0-beta.1
2024/11/21v10.10.0
2024年5月27日v10.9.0
2024年2月27日v10.6.0
2023年11月9日v10.4.0
2023年8月25日v10.2.0
2023年6月16日v10.0.0-beta.4
2023年4月13日4d757
- 機能追加(types)!: MaybeComputedRef
をMaybeRefOrGetter
に名前変更10e98
- 機能追加(toRef)!: resolveRef
をtoRef
に名前変更0a72b
- 機能追加(toValue): resolveUnref
をtoValue
に名前変更v9.13.0
2023年2月18日v9.10.0
2023年1月3日