English | Chinese
暗黑模式开关是一个项目中常用的功能,为了减少后续新项目的工作量,所以封装了这个组件。
- 美观的
- 开箱即用的
- 支持手动操作
naive-ui
支持
npm i vue-dark-switch
<script setup>
import { Switch } from "vue-dark-switch"
</script>
<template>
<Switch />
</template>
支持自定义 Switch
背景色
<template>
<Switch darkBackground="#fff" lightBackground="#2D2D2D" />
</template>
<script setup>
import { Switch } from "vue-dark-switch"
import WorkspacePremiumTwotone from "@vicons/material/es/WorkspacePremiumTwotone"
import WorkspacePremiumOutlined from "@vicons/material/es/WorkspacePremiumOutlined"
</script>
<template>
<Switch>
<template #dark>
<WorkspacePremiumOutlined />
</template>
<template #light>
<WorkspacePremiumTwotone />
</template>
</Switch>
</template>
<script setup>
import { SwitchIcon } from "vue-dark-switch"
</script>
<template>
<SwitchIcon />
</template>
自定义图标
<script setup>
import { SwitchIcon } from "vue-dark-switch"
import WorkspacePremiumOutlined from "@vicons/material/es/WorkspacePremiumOutlined"
import WorkspacePremiumTwotone from "@vicons/material/es/WorkspacePremiumTwotone"
</script>
<template>
<SwitchIcon>
<template #dark>
<WorkspacePremiumOutlined />
</template>
<template #light>
<WorkspacePremiumTwotone />
</template>
</SwitchIcon>
</template>
// nuxt.config.ts
export default defineNuxtConfig({
build: {
transpile: ["vue-dark-switch"],
},
})
<script setup lang="ts">
import { Switch } from "vue-dark-switch"
</script>
<template>
<div>
<ClientOnly>
<Switch />
</ClientOnly>
</div>
</template>
import { isDark, toggleDark } from "vue-dark-switch"
isDark.value // 是否是暗黑模式
toggleDark(false) // 取消暗黑模式
toggleDark(true) // 开启暗黑模式
toggleDark() // 切换模式
<!-- App.vue -->
<script setup>
import { NConfigProvider } from "naive-ui"
import { naiveTheme } from "vue-dark-switch"
</script>
<template>
<n-config-provider :theme="naiveTheme">
<router-view />
</n-config-provider>
</template>
该组件由以下库搭建而成
该组件由 vue3-exports 和 vite-layers 提供支持
Made with markthree
Published under MIT License.