Skip to content

BizThemeSwitch 主题切换 ​

明暗主题一键切换图标按钮:切换 document.documentElement 的 dark class(Element Plus 暗色变量约定,组件库全部 --el-* 变量自动适配),localStorage 持久化 + 系统偏好跟随(prefers-color-scheme),支持 v-model 受控。

基础用法 ​

当前主题:亮色
v-model 双向同步当前主题;默认持久化(刷新保持),首次访问跟随系统。

受控 · 偏好上报 ​

storage-key="" 关闭持久化;change 事件联动后端保存用户偏好。

双入口同步 ​

顶栏(当前 light)
设置页两处共享同一 v-model,状态一致
顶栏与设置页共享 v-model(storage-key 置空避免双写竞争)。

持久化验证 ​

选择后刷新本页:主题保持(localStorage: demo-theme-persist);清除存储则回退 auto 跟随系统
独立 storage-key;刷新保持,清除存储回退 auto 跟随系统。

顶栏三件套 ​

运营平台
3
管
通知 + BizFullScreen + 主题切换 + 头像的 header-right 组合位。

外观设置卡 ​

外观
暗色适合夜间值守;选择会保存到本机并由后端偏好下发
设置页形态:change 事件上报后端偏好(下次登录下发注入)。

Props ​

属性名类型默认值说明
v-model'light' | 'dark'—受控当前主题(不传则由持久化值 / defaultTheme 决定)
storage-keystring'biz-theme'localStorage key(空串不持久化)
default-theme'light' | 'dark' | 'auto''auto'初始主题(auto 跟随系统)

Events ​

事件名参数说明
update:model-value(value)主题变化
change(value)主题变化(上报后端场景用)

Slots ​

插槽名说明
—无插槽

Expose ​

属性/方法说明
—无