Skip to content

useElementSize

类别
导出体积
909 B
上次更改
3 months ago

获取 HTML 元素的响应式大小。ResizeObserver MDN

示例

调整框大小以查看更改

用法

vue
<script setup lang="ts">
import { 
useElementSize
} from '@vueuse/core'
import {
useTemplateRef
} from 'vue'
const
el
=
useTemplateRef
('el')
const {
width
,
height
} =
useElementSize
(
el
)
</script> <template> <
div
ref
="
el
">
Height: {{
height
}}
Width: {{
width
}}
</
div
>
</template>

组件用法

vue
<template>
  <UseElementSize v-slot="{ 
width
,
height
}">
Width: {{
width
}} Height: {{
height
}}
</UseElementSize> </template>

指令用法

vue
<script setup lang="ts">
import { 
vElementSize
} from '@vueuse/components'
function
onResize
({
width
,
height
}: {
width
: number,
height
: number }) {
console
.
log
(
width
,
height
)
} </script> <template> <
textarea
v-element-si
ze="
onResize
" />
<!-- 使用选项 --> <
textarea
v-element-si
ze="
[
onResize
, {
width
: 100,
height
: 100 }, {
box
: 'content-box' }]
"
/> </template>

类型声明

ts
export interface ElementSize {
  
width
: number
height
: number
} export interface UseElementSizeOptions extends UseResizeObserverOptions {} export interface UseElementSizeReturn {
width
:
ShallowRef
<number>
height
:
ShallowRef
<number>
stop
: () => void
} /** * HTML 元素的响应式尺寸。 * * @see https://vueuse.org/useElementSize */ export declare function
useElementSize
(
target
:
MaybeComputedElementRef
,
initialSize
?: ElementSize,
options
?: UseElementSizeOptions,
): UseElementSizeReturn

源码

源码演示文档

贡献者

Anthony Fu
一纸忘忧
Anthony Fu
webfansplz
IlyaL
menghan
Mikhailov Nikita
wheat
一纸忘忧
Jialong Lu
Bart Spaans
Vida Xie
青椒肉丝
Robin
James Garbutt
IlyaL
我想静静
siaikin
仿生狮子
ByMykel
jing
vaakian X
Vasily Kuzin
vaakian X
Jelf
Shinigami
Alex Kozack
Sanxiaozhizi

更新日志

Pending for release...
52d68 - fix(directive): create disposable directive func cleanup of side effects unmounted (#5244)
8c521 - feat(components)!: refactor components and make them consistent (#4912)
9889f - fix: component type warning (#4722)
021d0 - feat(toArray): new utility function (#4432)
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
d8015 - fix: use getBoundingClientRect get element size on SVG (#3940)
165c8 - fix: get value in onMounted hook (#3366)
5f545 - feat: stop function (#3367)