109k

可调整大小

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

Radix UIBase UI
Radix UI - shadcn/ui 组件库
import {
  ResizableHandle,
  ResizablePanel,

关于

Resizable 组件构建在 react-resizable-panels 之上,由 bvaughn 开发。

安装

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" 进行垂直调整大小。

标题
内容
import {
  ResizableHandle,
  ResizablePanel,

调节柄

ResizableHandle 上使用 withHandle 属性来显示可视化的调节柄。

侧边栏
内容
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
PanelGroup分组
PanelResizeHandle分隔符
direction 属性orientation 属性
defaultSize={50}defaultSize="50%"
onLayoutonLayoutChange
ImperativePanelHandlePanelImperativeHandle
Panel 上的 ref 属性panelRef 属性
data-panel-group-directionaria-orientation