Docs
Resizable

Resizable

支持键盘操作,无障碍且可调整大小的面板组和布局。

One
Two
Three

关于

Resizable 组件构建在 bvaughnreact-resizable-panels 之上。

安装

npx shadcn-ui@latest add resizable

使用

import {
  ResizableHandle,
  ResizablePanel,
  ResizablePanelGroup,
} from "@/components/ui/resizable"
<ResizablePanelGroup direction="horizontal">
  <ResizablePanel>第一个</ResizablePanel>
  <ResizableHandle />
  <ResizablePanel>第二个</ResizablePanel>
</ResizablePanelGroup>

示例

垂直

使用 direction 属性设置可调整大小的面板的方向。

Header
Content
import {
  ResizableHandle,
  ResizablePanel,
  ResizablePanelGroup,
} from "@/components/ui/resizable"
 
export default function Example() {
  return (
    <ResizablePanelGroup direction="vertical">
      <ResizablePanel>第一个</ResizablePanel>
      <ResizableHandle />
      <ResizablePanel>第二个</ResizablePanel>
    </ResizablePanelGroup>
  )
}

手柄

可以通过在 ResizableHandle 组件上使用 withHandle 属性来设置或隐藏手柄。

Sidebar
Content
import {
  ResizableHandle,
  ResizablePanel,
  ResizablePanelGroup,
} from "@/components/ui/resizable"
 
export default function Example() {
  return (
    <ResizablePanelGroup direction="horizontal">
      <ResizablePanel>第一个</ResizablePanel>
      <ResizableHandle withHandle />
      <ResizablePanel>第二个</ResizablePanel>
    </ResizablePanelGroup>
  )
}