uiUI 组件系统
对比

可调分栏

Splitter / Resizable Panels

允许用户调节相邻工作区域的空间分配。

交互预览实时预览
目录:输入组件、导航组件
内容:保留两侧上下文

拖动或使用左右方向键调整

拖动分隔条,或聚焦后按方向键
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'splitter'
);

view.element.addEventListener('ui:change', event => {
  console.log(event.detail.value);
});

// view.update({ ...nextProps });
// view.destroy();

什么时候用

编辑器与预览、目录与详情等长期并排工作。

什么时候不用

小屏幕同时展示会挤压内容时,应切换为单区导航。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
label"调整两侧宽度"
start"目录:输入组件、导航组件"
end"内容:保留两侧上下文"
value42
min15
max85
help"拖动或使用左右方向键调整"

事件

ui:change

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 拖动分隔线也应支持键盘调节。
  • 限制最小尺寸,避免内容区被缩到不可操作。

和相似组件的区别

Splitter 调整稳定布局;Drawer 临时展开覆盖或推开内容。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

Element PlusSplitter
官方提供

官方当前标记 beta,支持方向与折叠。

MantineSplitter
官方提供

可调节的面板容器。

关键状态

默认比例调整中达到最小值折叠

React / Next.js、Vue / Nuxt · 来源核验

一起了解

侧边导航 ↗抽屉与侧边面板 ↗产物预览 ↗