Skip to content

主题与组件样式

DynamicTabsComponent 内置了基础标签栏样式,并通过 CSS 变量和运行时主题 API 暴露定制能力。

CSS 变量

css
:root {
  --tab-color-primary: #165dff;
  --tab-color-bg-hover: #f2f3f5;
  --tab-radius-sm: 4px;
}

标签栏组件属性

vue
<DynamicTabsComponent type="card" show-icon default-icon="icon-apps" />
属性类型默认值说明
type"text" | "line" | "card" | "rounded" | "capsule""text"标签栏风格
showIconbooleanfalse是否显示图标
defaultIconstring-未设置 viewIcon 时显示的图标
hideFirstbooleanfalse隐藏 _isFirst 首页标签,预览容器内部使用

viewNameMaxLengthcreateTabsManager 中配置,会影响内置标签栏标题截断。

运行时主题

ts
import { applyTheme, darkTheme, defaultTheme } from "@xsbcme/vue-tab-router";

applyTheme(darkTheme);
applyTheme(defaultTheme);

也可以把主题应用到指定容器:

ts
applyTheme(darkTheme, document.querySelector(".workbench-tabs"));

常用变量

变量说明
--tab-color-primary主色
--tab-color-text-primary主要文字色
--tab-color-bg-base基础背景
--tab-color-bg-hoverhover 背景
--tab-color-bg-active激活背景
--tab-color-border边框色
--tab-font-size字号
--tab-icon-size图标尺寸
--tab-radius-sm小圆角
--tab-radius-capsule胶囊圆角
--tab-transition-duration过渡时长

使用建议

  • 业务系统已有设计规范时,优先覆盖 CSS 变量。
  • 需要用户切换主题时,使用 applyTheme
  • 已有标签栏设计时,可以只消费 useTabsManager().tabs 自行渲染 UI。