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

EtPanelGroup · 同 dock 多面板呈现 ​

同一停靠区内多面板的 tab 化呈现:标题行是 tab 条,内容区只渲染激活面板。

vue
<et-panel-group
  :panels="panels"
  :active-id="activeId"
  :maximized-panel="maximizedId"
  @select="onSelect"
  @collapse="onCollapse"
  @expand="onExpand"
  @close="onClose"
  @maximize="onMaximize"
  @restore="onRestore"
>
  <template #default="{ panel }"><component :is="viewOf(panel.id)" /></template>
  <template #tools="{ panel }"><span>{{ panel.id }}</span></template>
</et-panel-group>

API ​

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

Props

名称类型默认说明
panelsArray() => []同一 dock 的面板节点数组(至少 1 个;顺序即 tab 顺序)
activeIdString''激活面板 id
maximizedPanelStringnull全屏面板 id(全局唯一;透传给激活面板做视觉放大)

Emits

事件载荷说明
selectidtab 呈现态下切换激活面板;载荷 = 面板 id
collapseid组内某面板折叠;载荷 = 面板 id
expandid组内某面板展开;载荷 = 面板 id
closeid组内某面板关闭;载荷 = 面板 id
maximizeid组内某面板最大化;载荷 = 面板 id
restore—组内面板从最大化还原(无载荷)

Slots

槽吃什么作用域
#tools组内所有面板共用的工具位—
default面板内容区

键盘 · 可访问名 · 密度

键盘不接管按键
可访问名 无 ARIA 属性(原生语义)
密度--et-chrome-bg--et-chrome-separator--et-density-base-font--et-density-line-height

行为 ​

  • tab 条只列未折叠、未隐藏的面板;单条目时不渲染条(没有可切换对象,空 tab 条只占 chrome 高度)。
  • 激活面板折叠时,它的标题栏就是该面板在内容区的全部呈现(展开钮可还原)。
  • expand 事件必须转发:不转发的话 tab 化 dock 里被折叠的面板永远回不来。
  • 键盘漫游(左右 / Home / End)由 EtTabStrip 提供;只监听 change(与 update:modelValue 同场发,双绑会双发)。

令牌与门禁 ​

  • 复用 EtTabStrip 的度量令牌,同槽位与 tab 条视觉一致。
  • 与 EtPanel 共用同目录样式表(族内子件一份样式,入口构建归入共享 chunk)。