Tabs 标签页
分隔内容上有关联但属于不同类别的数据集合。
基础用法
基础的、简洁的标签页。
Tabs 组件提供了选项卡功能, 默认选中第一个标签页,你也可以通过 value 属性来指定当前选中的标签页。type 可切换风格:默认线型、card 卡片、border-card 边框卡片、page 页面级页签(常配 force-closable 常显关闭图标)、menu 菜单级页签(常配 closable 悬浮/选中时显示关闭图标)。
基础用法
右侧提示信息
卡片风格:type="card"
边框卡片风格:type="border-card"
页面级页签:type="page"
在院患者内容
菜单级页签:type="menu"
默认值
通过 default-value 设置初始激活的标签页。
未设置 model-value 初始值时,default-value 生效;一旦 model-value 有值则以 model-value 为准。
default-value: third
active:
active:
副标签
通过 sub-label 为标签设置副标题,渲染为「主标题 + 副标题」两行。
sub-label 为空时保持单行;label 具名插槽与 sub-label 可共存,插槽内容优先。
呼吸内科内容
标签位置的设置
可以通过 tab-position 设置标签的位置
标签一共有四个方向的设置 tabPosition="left|right|top|bottom"
自定义标签页的内容
可以通过具名插槽来实现自定义标签页的内容
动态增减标签页
增减标签页按钮只能在选项卡样式的标签页下使用
医嘱查询内容
添加按钮自定义图标
住院处方内容
增加标签页触发器自定义
出院患者内容
滚轮滚动溢出标签条
标签条溢出时,可以用 wheel-scrollable 让鼠标滚轮滚动标签条。
仅在标签条处于溢出态时接管滚轮;开关关闭或未溢出时不会拦截页面滚动。
内科一病区内容
右侧提示信息
Tabs API
Attributes
| 属性名 | 说明 | 类型 | Default |
|---|---|---|---|
| model-value / v-model | 绑定值,选中选项卡的 name,默认值是第一个 tab 的 name | string / number | — |
| default-value | 未设置 model-value 时初始激活选项卡的 name | string / number | — |
| type | 风格类型,page 为页面级页签,menu 为菜单级页签 | enum | '' |
| closable | 标签是否可关闭 | boolean | false |
| force-closable | 关闭图标是否常显 | boolean | false |
| addable | 标签是否可增加 | boolean | false |
| editable | 标签是否同时可增加和关闭 | boolean | false |
| tab-position | 选项卡所在位置 | enum | top |
| stretch | 标签的宽度是否自撑开 | boolean | false |
| wheel-scrollable | 滚轮滚动溢出标签条 | boolean | false |
| tabindex | Tabs 的 tabindex,作用于激活标签与新增按钮 | string / number | 0 |
| before-leave | 切换标签之前的钩子函数, 若返回 false 或者返回被 reject 的 Promise,则阻止切换。 | Function | () => true |
Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| tab-click | tab 被选中时触发 | Function |
| tab-change | activeName 改变时触发 | Function |
| tab-remove | 点击 tab 移除按钮时触发 | Function |
| tab-add | 点击 tab 新增按钮时触发 | Function |
| edit | 点击 tab 的新增或移除按钮后触发 | Function |
Slots
| 插槽名 | 说明 | 子标签 |
|---|---|---|
| default | 默认插槽 | Tab-pane |
| add | 标签头右侧附加内容区 | — |
| add-icon | 自定义添加按钮图标 | — |
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| currentName | 当前激活面板的 name | object |
| tabNavRef | tab-nav 组件实例 | object |
Tab-nav API
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| scrollToActiveTab | 滚动到当前激活的标签 | Function |
| removeFocus | 移除焦点态 | Function |
| focusActiveTab | 聚焦当前激活的标签 | Function |
| scheduleRender | 手动调度一次 tab-nav 重渲染(label 插槽内容更新时内部使用) | Function |
| tabListRef | w-tabs__nav HTML 元素 | object |
| tabBarRef | tab-bar 组件实例 | object |
Tab-bar API
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| ref | tab-bar 根 HTML 元素 | object |
| update | 手动更新 tab-bar 样式,返回更新后的样式 | Function |
无障碍标记 aria-label
w-tab-pane 支持 aria-label,配置后渲染到对应页签头 div[role=tab]:多个页签各自独立、互不覆盖,未配置时不输出该属性;不会写到 tabpanel 内容区。组件不从 label 推导标记值。
html
<w-tabs>
<w-tab-pane label="门诊患者" name="outpatient" aria-label="页签-门诊患者" />
<w-tab-pane label="住院患者" name="inpatient" aria-label="页签-住院患者" />
</w-tabs>Tab-pane API
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| label | 选项卡标题 | string | '' |
| sub-label | 选项卡副标题,非空时该标签渲染为「主标题 + 副标题」两行 | string | '' |
| disabled | 是否禁用 | boolean | false |
| name | 与选项卡绑定值 value 对应的标识符,表示选项卡别名。默认值是 tab 面板的序列号,如第一个 tab 是 0 | string / number | — |
| closable | 标签是否可关闭,未设置时回退 Tabs 的 closable(显式 false 可在 editable 下保持不可关闭) | boolean | — |
| force-closable | 关闭图标是否常显(未设置时回退 Tabs 的 force-closable) | boolean | false |
| lazy | 标签是否延迟渲染 | boolean | false |
| aria-label a11y | 等价于原生 aria-label,渲染到对应 role=tab 页签头 | string | — |
Slots
| 插槽名 | 说明 |
|---|---|
| default | Tab-pane 的内容 |
| label | Tab-pane 的标题内容 |
Copyright 2025 Winning Health 版权所有

