Skip to main content
You are viewing Pre-Alpha documentation.
Vuetify0 Logo
Mode
Accessibility
Vuetify

useResizeObserver

A composable for detecting element size changes using the Resize Observer API with automatic cleanup.

Usage

The useResizeObserver composable wraps the Resize Observer API to detect when an element’s dimensions change. It’s useful for responsive components, charts, virtualized lists, and aspect ratio maintenance.

UseResizeObserver
<script setup lang="ts">
  import { useResizeObserver } from '@vuetify/v0'
  import { ref, useTemplateRef } from 'vue'

  const container = useTemplateRef('container')
  const width = ref(0)
  const height = ref(0)

  useResizeObserver(container, (entries) => {
    const entry = entries[0]
    width.value = entry.contentRect.width
    height.value = entry.contentRect.height
  })
</script>

<template>
  <div ref="container" class="resizable">
    <p>Width: {{ width }}px</p>
    <p>Height: {{ height }}px</p>
  </div>
</template>

Examples

Responsive Grid

A resizable container that adapts its grid layout based on observed dimensions.

0 x 0
Analytics
Users
Revenue
Orders
Messages
Settings

Drag the right edge to resize. Columns: 1

Architecture

useResizeObserver wraps the native ResizeObserver API with Vue reactivity:

Resize Observer Hierarchy

Use controls to zoom and pan. Click outside or press Escape to close.

Resize Observer Hierarchy

API Reference

The following API details are for the useResizeObserver composable.

Functions

useResizeObserver

(target: MaybeRef<Element>, callback: (entries: ResizeObserverEntry[]) => void, options?: ResizeObserverOptions) => UseResizeObserverReturn

A composable that uses the Resize Observer API to detect when an element's size changes.

useElementSize

(target: MaybeRef<Element>) => UseElementSizeReturn

A convenience composable that uses the Resize Observer API to track an element's size.

Options

immediate

boolean

once

boolean

box

"content-box" | "border-box"

Properties

isActive

Readonly<Ref<boolean, boolean>>

Whether the observer is currently active (created and observing)

isPaused

Readonly<Ref<boolean, boolean>>

Whether the observer is currently paused

Methods

pause

() => void

Pause observation (disconnects observer but keeps it alive)

resume

() => void

Resume observation

stop

() => void

Stop observation and clean up (destroys observer)

Was this page helpful?

© 2016-1970 Vuetify, LLC
Ctrl+/