Skip to content
On this page

useFlexFillSize Flex 剩余空间尺寸

Hidden Title

基础用法:const { height } = useFlexFillSize(tableContainerRef)

WARNING

父容器需要设置flex布局

基础用法(默认值:flex = 1 1 0、overflow = hidden、box = border-box

说明

useFlexFillSize 会让目标 HTML 元素填满 Flex 容器的剩余空间,同时返回响应式宽高。适用于页面、Dialog、Drawer 中需要自动适应可用高度的表格或列表容器。

目标元素的父级需要设置固定或可计算的高度,并使用 Flex 布局;纵向填充时还需要设置 flex-direction: columnmin-height: 0

调用形式

ts
const tableContainerRef = ref<HTMLElement>()
const { width, height, stop } = useFlexFillSize(tableContainerRef)
const tableContainerRef = ref<HTMLElement>()
const { width, height, stop } = useFlexFillSize(tableContainerRef)

参数说明

参数类型可选值必填默认值说明
targetMaybeComputedElementRefHTML 元素、组件实例、Ref 或 getter-要填充并监听尺寸的目标元素。
options.flexstring任意合法 CSS flex1 1 0目标元素的 Flex 填充规则。
options.overflowstring任意合法 CSS overflowhidden目标元素的溢出规则。
options.boxResizeObserverBoxOptionscontent-box / border-box / device-pixel-content-boxborder-boxResizeObserver 的盒模型。
options.initialSize{ width: number; height: number }宽高数值{ width: 0, height: 0 }首次测量前使用的初始尺寸。
其他选项UseResizeObserverOptionsVueUse useResizeObserver 支持的选项-透传给 VueUse 的尺寸监听。

返回值

名称类型说明
widthRef<number>目标元素的实时宽度。
heightRef<number>目标元素的实时高度。
stop() => void停止监听目标元素尺寸。

思云博智私有前端组件库