Skip to content

BizSplitPane 分栏面板 ​

可拖拽调宽的分栏容器:horizontal 左右 / vertical 上下分栏,拖拽分割线实时调整(px 边界 clamp、rAF 节流)、v-model:split 比例双向同步、min / max px 边界、双击分割线复位、persist-key 本地记忆宽度、ResizeObserver 容器自适应收敛、支持嵌套。「左树右表」经典布局(配合 BizTree)、列表-详情双栏(邮件 / 工单)。

vertical 模式下 left 槽为上侧、right 槽为下侧。

基础用法 ​

全部商品
数码家电
服饰鞋包
食品生鲜
左右分栏 + BizTree 组合成「左树右表」管理页布局,min 限定左栏最小宽度。

上下分栏 ​

本周迭代计划评审通知
产品团队
服务器资源巡检报告
运维中心
新同事入职欢迎信
人力资源

本周迭代计划评审通知

来自 产品团队 …(详情内容区域,拖动中间分割线可调整上下比例,双击复位 42%)

direction="vertical" 列表 + 详情上下布局,双击分割线复位。

受控与边界 ​

左栏比例
左栏(min 120px / max 520px)
右栏自适应

滑杆与拖拽双向联动:当前 50%

v-model:split 与滑杆双向联动;min / max 为 px 边界(拖拽与受控均收敛)。

宽度记忆 ​

导航区(拖动后刷新页面,宽度保持)
内容区

persist-key="biz-split-pane-demo-nav":拖拽宽度写入 localStorage,下次挂载优先恢复

persist-key 拖拽宽度写入 localStorage,刷新后恢复上次位置(优先于初始 split)。

嵌套分栏 ​

左上:数据列表(内部再分栏)
左下:图表区
右侧详情栏(双击任意分割线可复位该栏比例)

split-pane 嵌套组合复杂布局;resize 事件拖拽中持续外抛(含 px 与总宽)。

外部控制 ​

左栏
右栏
expose setSplit(ratio) 按比例设置、getStartPx() 读取当前左侧 px 宽度。

Props ​

属性名类型默认值说明
direction'horizontal' | 'vertical''horizontal'排列方向
splitnumber0.5左(上)侧占比 0~1(v-model:split,拖拽实时同步)
minnumber80左(上)侧最小尺寸(px)
maxnumber容器宽-40左(上)侧最大尺寸(px)
persist-keystring''本地记忆 key(拖拽后写入 localStorage,挂载时恢复)
reset-on-dblclickbooleantrue双击分割线复位到初始 split

Events ​

事件名参数说明
update:split(value: number)占比变化(v-model:split)
resize(startPx, totalPx)拖拽中持续外抛(高频,业务侧自行防抖)

Slots ​

插槽名说明
left左(vertical 为上)侧面板
right右(vertical 为下)侧面板

Expose ​

名称类型说明
setSplit(ratio: number) => void按比例设置左(上)侧占比
getStartPx() => number当前左(上)侧 px 尺寸

TIP

拖拽经 setPointerCapture + window pointermove 实现,快速拖出容器边界不丢事件;面板内容超出自动滚动(pane 自带 overflow: auto)。