当前位置:   article > 正文

在vue3中Element Plus切换主题_elementplus主题

elementplus主题

  一共2种方法。

目录

第一种

第二种


第一种

暗黑模式,使用useDark,可以不用安装Element Plus,只切换页面的背景颜色,不改变Element Plus控件的颜色,本案例安装了Element Plus。

1.先建立一个可运行的程序

2.创建useDark.js

  1. import {
  2. ref
  3. } from 'vue'
  4. export function useDark() {
  5. const isDark = ref(false)
  6. const toggle = () => {
  7. isDark.value = !isDark.value
  8. if (isDark.value) {
  9. document.documentElement.classList.add('dark')
  10. } else {
  11. document.documentElement.classList.remove('dark')
  12. }
  13. }
  14. return {
  15. isDark,
  16. toggle
  17. }
  18. }

3.HelloWorld.vue代码

  1. <template>
  2. <div :class="{ dark: isDark }">
  3. <h1>{{ msg }}</h1>
  4. <el-button type="primary">Primary</el-button>
  5. <h1>Dark Mode Demo</h1>
  6. <p>Current mode: {{ isDark ? 'Dark' : 'Light' }}</p>
  7. <button @click="toggleTheme">Toggle Theme</button>
  8. </div>
  9. </template>
  10. <script setup>
  11. import {
  12. ref
  13. } from 'vue'
  14. import {
  15. useDark
  16. } from './useDark'
  17. defineProps({
  18. msg: String
  19. })
  20. const dark = useDark()
  21. const isDark = ref(dark.isDark)
  22. const toggleTheme = () => {
  23. dark.toggle()
  24. }
  25. const count = ref(0)
  26. </script>
  27. <style>
  28. .dark {
  29. background-color: #333;
  30. /* red */
  31. color: #fff;
  32. }
  33. </style>

 4.效果

点击切换按钮,就可以切换暗黑模式了

5.拓展

可以把颜色改成别的颜色,例如改成红色,这样就可以形成2种颜色的切换了

 

 源码:

https://download.csdn.net/download/u012563853/87537505

第二种

1.首先用HBuilder X建立一个vue3项目,如图所示

2.把不需要的代码删除,增加切换按钮

HelloWorld.vue代码

  1. <template>
  2. <div>
  3. <el-button type="primary">Primary</el-button>
  4. <el-switch @click="toggleDarkMode()" v-model="value1" />
  5. </div>
  6. </template>
  7. <script setup>
  8. import {
  9. ref
  10. } from 'vue'
  11. const value1 = ref(true)
  12. const isDarkMode = ref(false)
  13. const toggleDarkMode = () => {
  14. isDarkMode.value = !isDarkMode.value
  15. document.body.classList.toggle('dark-mode')
  16. }
  17. </script>
  18. <style scoped>
  19. a {
  20. color: #42b983;
  21. }
  22. </style>

3.命令安装

cnpm install element-plus --save

  

4.main.js代码

  1. import { createApp } from 'vue'
  2. import App from './App.vue'
  3. import ElementPlus from 'element-plus'
  4. import 'element-plus/dist/index.css'
  5. import 'element-plus/theme-chalk/dark/css-vars.css'//这句是暗黑模式切换
  6. const app = createApp(App)
  7. app.use(ElementPlus)
  8. app.mount('#app')

5.找到css-vars.css文件

在里面增加代码

  1. /* 暗黑模式 */
  2. .dark-mode {
  3. background-color: #1f1f1f;
  4. /* background-color: #F53181; */
  5. color: #fff;
  6. /* .el-button {
  7. background-color: #333;
  8. color: #fff;
  9. }
  10. .el-input {
  11. background-color: #333;
  12. color: #fff;
  13. } */
  14. }

6.效果

 

 

 拓展:

整体修改控件的颜色

  1. <template>
  2. <h1>{{ msg }}</h1>
  3. <el-button type="primary">Primary</el-button>
  4. <el-switch v-model="value1" />
  5. <el-switch v-model="value2" class="ml-2" style="--el-switch-on-color: #13ce66; --el-switch-off-color: #ff4949" />
  6. </template>
  7. <script setup>
  8. import {
  9. ref,
  10. onMounted
  11. } from 'vue'
  12. defineProps({
  13. msg: String
  14. })
  15. const value1 = ref(true)
  16. const value2 = ref(true)
  17. onMounted(() => {
  18. document.body.style.setProperty('--el-color-primary', '#E6196D');
  19. document.body.style.setProperty('--el-color-primary-light-9', '#95d475');
  20. document.body.style.setProperty('--el-color-primary-light-3', '#95d475');
  21. })
  22. const count = ref(0)
  23. </script>
  24. <style scoped>
  25. </style>

来源:在vue3中Element Plus切换主题_element plus 主题-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/82119
推荐阅读
相关标签
  

闽ICP备14008679号