项目正在快速迭代中,API 与视觉细节可能随版本调整,请勿用于生产环境。

EtDock · 停靠区 ​

dock 节点的呈现件:stack 并列分摊 / tabs 单槽 tab 化,内容归消费方。

文件
  • 文件 1
  • 文件 2
  • 文件 3
搜索
  • 搜索 1
  • 搜索 2
  • 搜索 3

分隔条是 role="separator":聚焦后用 ←/→(横排)调尺寸,Home/End 到 min/max。

API ​

import { EtDock } from '@wil-works/evoke-tools-ui'公共工具面板功能块

Props

名称类型默认说明
dockObject必填停靠区节点:{ id, side, collapsed, panels, presentation? }(presentation === 'tabs' 走 tab 化)
maximizedStringnull当前全屏面板 id(全局唯一)

Emits

事件载荷说明
update:dockupdatedv-model(dock)的写入
panel-collapseid区内某面板折叠;载荷 = 面板 id(改的是树,本件不自存)
panel-expandid区内某面板展开;载荷 = 面板 id
panel-closeid区内某面板关闭;载荷 = 面板 id
panel-maximizeid区内某面板最大化;载荷 = 面板 id
panel-restore—区内面板从最大化还原(无载荷)
dock-toggledock.id整条停靠区经折叠把手切换;载荷 = 停靠区 id

Slots

槽吃什么作用域
#panel面板渲染位{ panel, dock }

键盘 · 可访问名 · 密度

键盘不接管按键
可访问名aria-labelaria-label ← handleLabel
密度--et-chrome-band-bg

行为 ​

  • stack(默认):每个可见面板一个面板位,同屏并列;停靠主轴 = 各位声明宽之和,拖拽在底座 min/max 夹角内重分配,百分比换算回 px 写回树(过夹角、可持久化)。
  • tabs(dock.presentation === 'tabs'):单槽 + EtPanelGroup,任一时刻只有激活面板渲染内容,尺寸度量取激活面板。
  • 折叠面板位收成标题条高度(标题栏仍可达、展开钮可还原),且不参与尺寸回写。
  • 隐藏面板整条退出渲染但留在树里(产品层用 visiblePanels / showPanel 拉回来)。
  • 全屏时只渲染全屏目标位,兄弟面板让位,停靠位跨满主体行(EtWorkbench 的 grid 让位)。
  • 尺寸回写等一拍(120ms)只落稳定值,过渡中间值不进树。

令牌与门禁 ​

  • --et-panel-header-height:折叠把手与折叠位尺寸同源(28px)。
  • 拖拽条度量由族内 EtSplitter 的样式表负责,见 分隔面板族。
  • 内存:拖拽/折叠过渡的定时器卸载时清理。