Back to Ant Design

Splitter

components/splitter/index.zh-CN.md

6.3.73.6 KB
Original Source

何时使用 {#when-to-use}

  • 可以水平或垂直地分隔区域。
  • 当需要自由拖拽调整各区域大小。
  • 当需要指定区域的最大最小宽高时。

代码演示 {#examples}

<!-- prettier-ignore -->

<code src="./demo/size.tsx">基本用法</code> <code src="./demo/control.tsx">受控模式</code> <code src="./demo/vertical.tsx">垂直方向</code> <code src="./demo/collapsible.tsx">可折叠</code> <code src="./demo/collapsibleIcon.tsx" version="5.27.0">可折叠图标显示</code> <code src="./demo/multiple.tsx">多面板</code> <code src="./demo/group.tsx">复杂组合</code> <code src="./demo/lazy.tsx" version="5.23.0">延迟渲染模式</code> <code src="./demo/customize.tsx" version="6.0.0">自定义样式</code> <code src="./demo/style-class.tsx" version="6.0.0">自定义语义结构的样式和类</code> <code src="./demo/reset.tsx" version="6.3.0">双击重置</code> <code src="./demo/nested-in-tabs.tsx" debug>标签页中嵌套</code> <code src="./demo/debug.tsx" debug>调试</code> <code src="./demo/size-mix.tsx" debug>尺寸混合</code>

API

通用属性参考:通用属性

Splitter 组件需要通过子元素计算面板大小,因而其子元素仅支持 Splitter.Panel

Splitter

参数说明类型默认值版本
classNames用于自定义组件内部各语义化结构的 class,支持对象或函数Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-
collapsibleIcon折叠图标{start?: ReactNode; end?: ReactNode}-6.0.0
draggerIcon拖拽图标ReactNode-6.0.0
layout布局方向horizontal | verticalhorizontal-
lazy延迟渲染模式booleanfalse5.23.0
onCollapse展开-收起时回调(collapsed: boolean[], sizes: number[]) => void-5.28.0
orientation布局方向horizontal | verticalhorizontal-
styles用于自定义组件内部各语义化结构的行内 style,支持对象或函数Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-
vertical排列方向,与 orientation 同时存在,以 orientation 优先booleanfalse
onDraggerDoubleClick双击拖拽条回调(index: number) => void-6.3.0
onResize面板大小变化回调(sizes: number[]) => void--
onResizeEnd拖拽结束回调(sizes: number[]) => void--
onResizeStart开始拖拽之前回调(sizes: number[]) => void--

Panel

参数说明类型默认值版本
collapsible快速折叠boolean | { start?: boolean; end?: boolean; showCollapsibleIcon?: boolean | 'auto' }falseshowCollapsibleIcon: 5.27.0
defaultSize初始面板大小,支持数字 px 或者文字 '百分比%' 类型number | string--
max最大阈值,支持数字 px 或者文字 '百分比%' 类型number | string--
min最小阈值,支持数字 px 或者文字 '百分比%' 类型number | string--
resizable是否开启拖拽伸缩booleantrue-
size受控面板大小,支持数字 px 或者文字 '百分比%' 类型number | string--

Semantic DOM

<code src="./demo/_semantic.tsx" simplify="true"></code>

主题变量(Design Token){#design-token}

<ComponentTokenTable component='Splitter'></ComponentTokenTable>