数据组件版本 0.1.0

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 · boolean

API 参考

属性类型默认值说明
defaultSizesreadonly [number, number][50, 50]设置两个面板首次渲染时的百分比尺寸。
orientation"horizontal" | "vertical""horizontal"决定分隔器调整左右宽度还是上下高度。

组合结构

  1. 01ResizablePanels

键盘约定

  • 方向键按配置步长调整尺寸,Home 与 End 使用尺寸边界;RTL 反转水平方向意图。

可访问性契约

  • 可聚焦分隔条暴露方向、当前值与尺寸边界。
  • 面板组与调整把手都需要由使用方命名。