ResizablePanels 可调面板
允许用户拖动或使用键盘调整两个相邻工作区的空间比例。
使用概览
适合使用
- 编辑器、收件箱或控制台需要同时查看主从两个面板时。
不建议使用
- 窄屏设备无法容纳双面板,或其中一个区域应独立导航时。
真实示例
邮件双栏工作区
让用户调整邮件列表与正文的宽度比例。
正在加载示例…
安装
本地候选警告Registry 地址仅指向当前本地文档站;npm 包也只用于本地候选验证,尚未公开发布。
pnpm dlx shadcn@4.16.0 add http://127.0.0.1:3000/r/resizable-panels.json基础用法
导入
import { ResizablePanels } from "@richardqiu/quartz/resizable-panels";JSX
<ResizablePanels aria-label="邮件工作区" resizeLabel="调整列表与正文宽度" defaultSizes={[35, 65]}><div>邮件列表</div><div>邮件正文</div></ResizablePanels>状态与控制摘要
默认
键盘焦点可见
已禁用
label · textactive · booleanAPI 参考
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
defaultSizes | readonly [number, number] | [50, 50] | 设置两个面板首次渲染时的百分比尺寸。 |
orientation | "horizontal" | "vertical" | "horizontal" | 决定分隔器调整左右宽度还是上下高度。 |
组合结构
- 01
ResizablePanels
键盘约定
- 方向键按配置步长调整尺寸,Home 与 End 使用尺寸边界;RTL 反转水平方向意图。
可访问性契约
- 可聚焦分隔条暴露方向、当前值与尺寸边界。
- 面板组与调整把手都需要由使用方命名。