Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
Get Started
One
Two
Three
import {
ResizableHandle,
ResizablePanel,关于
Resizable 组件基于 bvaughn 的 react-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 原语,请注意以下变更:
| v3 | v4 |
|---|---|
PanelGroup | Group |
PanelResizeHandle | Separator |
direction prop | orientation prop |
defaultSize={50} | defaultSize="50%" |
onLayout | onLayoutChange |
ImperativePanelHandle | PanelImperativeHandle |
ref prop on Panel | panelRef prop |
data-panel-group-direction | aria-orientation |
shadcn/ui 的包装组件(ResizablePanelGroup、ResizablePanel、
ResizableHandle)保持不变。