Files
fuel-price/.agents/skills/vueuse-functions/references/useScrollLock.md
Ovidiu U 4a3ce4cc1d
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled
docs: add advanced skills for Vitest, Pinia, and Vue built-ins
Add comprehensive reference documentation for:
- Vitest: environments, projects/workspaces, type testing, vi utilities
- Pinia: HMR, Nuxt integration, SSR setup
- Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
2026-04-11 16:28:36 +01:00

67 lines
1.1 KiB
Markdown

---
category: Sensors
---
# useScrollLock
Lock scrolling of the element.
## Usage
```vue
<script setup lang="ts">
import { useScrollLock } from '@vueuse/core'
import { useTemplateRef } from 'vue'
const el = useTemplateRef('el')
const isLocked = useScrollLock(el)
isLocked.value = true // lock
isLocked.value = false // unlock
</script>
<template>
<div ref="el" />
</template>
```
## Directive Usage
```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>
```
## Type Declarations
```ts
/**
* Lock scrolling of the element.
*
* @see https://vueuse.org/useScrollLock
* @param element
*/
export declare function useScrollLock(
element: MaybeRefOrGetter<
HTMLElement | SVGElement | Window | Document | null | undefined
>,
initialState?: boolean,
): WritableComputedRef<boolean, boolean>
```