111k

Resizable

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

One
Two
Three
import {
  ResizableHandle,
  ResizablePanel,

关于

Resizable 组件基于 bvaughnreact-resizable-panels 构建。

安装

pnpm dlx shadcn@latest add resizable

用法

import {
  ResizableHandle,
  ResizablePanel,
  ResizablePanelGroup,
} from "@/components/ui/resizable"
<ResizablePanelGroup orientation="horizontal">
  <ResizablePanel>One</ResizablePanel>
  <ResizableHandle />
  <ResizablePanel>Two</ResizablePanel>
</ResizablePanelGroup>

示例

垂直

使用 orientation="vertical" 可实现垂直调整大小。

Header
Content
import {
  ResizableHandle,
  ResizablePanel,

把手

ResizableHandle 上使用 withHandle 属性可以显示可见把手。

Sidebar
Content
import {
  ResizableHandle,
  ResizablePanel,

RTL

要在 shadcn/ui 中启用 RTL 支持,请参见 RTL 配置指南

واحد
اثنان
ثلاثة
"use client"

import * as React from "react"

API 参考

请参见 react-resizable-panels 文档。

变更日志

2025-02-02 react-resizable-panels v4

已更新到 react-resizable-panels v4。完整信息请参见 v4.0.0 发布说明

如果你直接使用 react-resizable-panels 原语,请注意以下变更:

v3v4
PanelGroupGroup
PanelResizeHandleSeparator
direction proporientation prop
defaultSize={50}defaultSize="50%"
onLayoutonLayoutChange
ImperativePanelHandlePanelImperativeHandle
ref prop on PanelpanelRef prop
data-panel-group-directionaria-orientation