vue实现element-ui自定义主题色切换(简单版)

2023-11-11

需求:通过点击图标实现了白天和黑夜的页面效果的实现,可以自定义颜色,手写,比较简单,如果需要复杂功能,根据颜色选择器实现element-ui全部的主题色切换可以看我另一篇:还在写

效果:

 1.定义个图标用于切换主题

 <!-- 切换主题 -->
          <div @click="handleChangeStyle()">
            <el-tooltip content="切换主题" placement="bottom">
              <i :class="globalTheme ? 'el-icon-moon' : 'el-icon-sunny'"></i>
            </el-tooltip>
          </div>

2.定义个全局总线,用于数据的输出和输入

在main.js加上这句话就行了

Vue.prototype.$bus=new Vue();

3.点击图标后传入数据

 this.globalTheme:默认是false

     handleChangeStyle() {
            // 切换主题
            this.globalTheme = !this.globalTheme;
           this.$bus.$emit('global_theme', this.globalTheme); // 将 globalTheme 的值传给父组件
        }

4.app.vue中编写

<template>
  <div id="app" :class="style ? 'theme1' : ''">
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  data(){
    return{
      style: false
    }
  },
  created(){
    this.$bus.$on('global_theme', (msg) => {    // 接收子组件传来 global_theme 的值
      this.style = msg;
    });
  }
}
</script>

5.创建theme.scss

这里面就是你自定义的颜色,把他导入在main.js中完成

.theme1{
  /* 将自己想要换肤后变化的样式写入该处,根据自己的需要进行修改和添加 */
  .sidebar-el-menu:not(.el-menu--collapse) {
    background: #012d4b !important;
  }
  .sidebar > ul {
    background: #012d4b !important;
  }
  /* 左侧菜单栏样式 */
  .el-menu-item{
    color: white !important;    /* 默认 black */
    background: #012d4b !important;
  }
  .el-menu-item, .el-submenu__title {
    background: #012d4b !important;
  }
  
  /* 页面顶部的样式 */
  .header {
    /* background-image:url("../../assets/img/main-bg1-top.jpg");
    background-repeat:no-repeat;
    background-size:100% 200%; */
    background-color: #001d30 !important;
    color: white !important;
  }
  .el-dropdown-link {
    color: white !important;
  }
  
  /* --------------- 水平一级菜单栏的样式--------------------- */
  .el-menu--horizontal > .el-menu-item.is-active {
    border-bottom: 2px solid #7FFFD4 !important;    /* 默认 blue */
    color: #7FFFD4 !important;    /* 默认 blue */
  }
  .el-menu--horizontal > .el-menu-item {
    background: transparent !important;
    color: white !important;    /* 默认 black */
  }
  .el-menu--horizontal > .el-menu-item:hover {
    background: transparent !important;
    color: white !important;
  }
  
  /* 消息按钮颜色样式 */
  .el-icon-bell{
    color: white;
  }
  .el-icon-caret-bottom{
    color: white;
  }
}

文章到此结束,希望对你有所帮助~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue实现element-ui自定义主题色切换(简单版) 的相关文章

  • 如何更改传单中功能集的样式?

    我正在看等值区域的例子 https leafletjs com examples choropleth https leafletjs com examples choropleth 这是他们使用的数据源 type Feature prop
  • 取消html5浏览器中的单图请求

    我正在动态加载 大 图像以绘制到 html5 画布中 如下所示 var t new Image t onload t src http myurl 但每隔一段时间就会想取消图片请求完全地 我想出的唯一方法是设置src to i e t sr
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • 如何使用 JavaScript 中的值填充下拉列表?

    我在 Tridion CMS 扩展中的功能区工具栏按钮中添加了一个按钮 单击该按钮后 将显示一个弹出页面 其中包含两个下拉菜单 通过更改第一个下拉控件中的值 我应该填充第二个下拉控件的值 就我而言 我正在使用ASP drop down li
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 即使我可以监视其他方法,也无法监视事件处理程序

    我想使用 Jest Jasmine Enzyme 测试 React 中的事件处理程序 MyComponent js import React from react class MyComponent extends React Compon
  • 仅一页 JavaScript 应用程序

    您是否尝试过单页 Web 应用程序 即浏览器仅从服务器 获取 一页 其余部分由客户端 JavaScript 代码处理 此类 应用程序页面 的一个很好的例子是 Gmail 对于更简单的应用程序 例如博客和 CMS 使用这种方法有哪些优点和缺点
  • Google Chrome 106 可拖动导致元素消失

    使用拖放元素时 绝对定位元素中包含的大多数其他元素都会从屏幕上消失 如果我调整窗口大小 这些元素会出现 但在开始拖动时会再次消失 我在最新版本的 Google Chrome 106 和 Beta 版本 107 0 5304 18 以及现在的
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 将 javascript 整数转换为字节数组并返回

    function intFromBytes x var val 0 for var i 0 i lt x length i val x i if i lt x length 1 val val lt lt 8 return val func
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • Chartjs刻度标签位置

    尝试让 Y 轴刻度标签看起来像image https i stack imgur com XgoxX png 位于秤顶部且不旋转 缩放选项当前如下所示 scales yAxes id temp scaleLabel display true
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 在 Javascript 中减少/分组数组

    基于this https stackoverflow com a 40774906 3254598例如 我想以稍微不同的方式按对象进行分组 结果应该如下 key audi items make audi model r8 year 2012
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • 涂抹CANVAS,判断清除完毕执行操作

    涂抹CANVAS 判断清除完毕执行操作 clearCanvas js代码如下 如清除时断续将 for var i 0 i lt Math round Math PI r i 5 改为 for var i 0 i lt Math round
  • 2021美赛D题

    2021年ICM问题D 音乐的影响 音乐自古以来就是人类社会的一部分 是文化遗产的重要组成部分 为了理解音乐在人类集体经验中所扮演的角色 我们被要求开发一种量化音乐进化的方法 当艺术家创作一首新的音乐作品时 有许多因素会影响他们 包括他们与
  • miscellany-在idea里创建properties文件

    在idea里创建properties文件 在resources里创建即可
  • C++this指针

    C this指针 this是C 中的一个关键字 也是一个const指针 它指向当前对象 通过它可以访问当前对象的所有成员 例如 class A private char name public void show cout lt lt he
  • ubuntu22.04安装YouCompleteMe

    先建一个文件夹 sudo mkdir vim bundle 然后进入这个文件夹 hunter hunter desktop vim bundle ls command t sparkup vim fugitive Vundle vim 接下
  • Qt入门超级简单小项目(3)布局管理器

    环境 Windows10 Qt5 完善菜单 1 新建Qt Widgets应用 项目名称为myMainWindow1 基类选择QMainWindow 类名为MainWindow 2 完成后 在设计模式添加菜单项 并添加资源文件 向其中添加菜单
  • sharding-jdbc 实现按月分表

    最近生产上发现了一个大表 因为数据太多导致新增查询都很慢 考虑先对历史数据进行归档 新数据按月分表存储 使用到的框架主要是 sharding jdbc spring boot mybatis durid 先建个demo简单实践下 首先 准备
  • wsl Hyper-V 与 安卓模拟器虚拟机同时共存方案

    最新消息 雷电9 0版本 已经支持共存了 不必搞那么麻烦了 WSL 在开发者手里是必不可少的 仿真服务器开发模式 安卓虚拟机 有时调试起来更加方便 但可惜的是 市面上的安装模拟器 都不支持与wsl友好共存 要么是版本低 要么是卡到要死 既然
  • 日志定期压缩、清除

    1 背景 定位问题 打印日志的一个目的是为了快速定位线上问题 日志打印的越详细 问题原因就越容易定位 磁盘空间有限 随着业务量提升 磁盘空间满了 日志将无法打印了 为了平衡上面两个条件 我们可以压缩文件和保留一定时间 如7天 的历史文件 2
  • SFM(Structure from Motion)一点总结

    SFM Structure from Motion 一点总结 运动结构恢复 Structure from motion 数十年来一直是计算机视觉领域的热门研究方向之一 实现了众多实际应用 尤其在近景三维重建中 该算法从获取的目标物系列影像出
  • 最全FreeSwitch 1.10.9 Linux通用编译部署教程

    FreeSwitch 通用编译部署教程 文章目录 FreeSwitch 通用编译部署教程 FreeSwitch的版本历程 1 基础环境 2 安装方式 3 安装基础依赖 4 下载cmake并进行编译安装 5 需要手动安装所需的依赖 6 下载源
  • IT数字化能力和运营效果成熟度模型 附下载

    栗蔚表示 企业的数字化是转型和赋能交替发展的旅程 或因其在数字化进程中对数字化技术的应用程度不同 处于不同阶段并扮演不同的角色 农牧业企业 制造企业 交通企业等传统行业企业目前正处于通过深化运用数字化技术开展自我转型的阶段 转型者属性明显
  • 全网最详细金融APP测试功能点-测试用例,详细整理(全)

    目录 导读 一 前言 二 业务测试 三 功能测试 1 交互逻辑检查 2 页面之间的数据读取 3 一般性检查 四 安全性测试 1 敏感数据本地可破解 2 网络传输 3 Android组件权限保护 4 升级 5 应用自身安全性 6 请求传输 五
  • springboot ajax 跨域,SpringBoot解决ajax跨域问题

    import org springframework context annotation Configuration import org springframework web servlet config annotation Cor
  • Mac电脑实用软件汇总

    软件用途 软件名称 简介 下载链接 截图 Snipaste Snipaste
  • 在服务器Linux系统中搭建JavaWeb环境

    目录 软件安装 安装JDK 安装Tomcat 本文使用的服务器是阿里云的云服务器ECS 软件安装 安装JDK 通过SSH软件把jdk安装包 任意版本皆可 传至指定位置 这里选择 home soft 将压缩包解压至 usr java 需提前创
  • qt使用自定义属性方法让子控件动态改变qss样式

    用动态改变QLabel样式为例 分为QLabel选择状态和未选择状态 1 自定义类继承自QLabel 用Q PROPERTY宏注册一个名称为select属性 2 QSS文件中预先设置QLabel属性 QLabel label2 select
  • 腾讯云coding平台平台inda目录遍历漏洞复现

    前言 其实就是一个python的库可以遍历到 并不能遍历到别的路径下 后续可利用性不大 并且目前这个平台私有部署量不多 大多都是用腾讯云在线部署的 CODING DevOps 是面向软件研发团队的一站式研发协作管理平台 提供从需求到设计 开
  • springmvc控制器的三种实现方式

    方式一 实现Controller接口 public class Test01 implements Controller Override public ModelAndView handleRequest HttpServletReque
  • vue实现element-ui自定义主题色切换(简单版)

    需求 通过点击图标实现了白天和黑夜的页面效果的实现 可以自定义颜色 手写 比较简单 如果需要复杂功能 根据颜色选择器实现element ui全部的主题色切换可以看我另一篇 还在写 效果 1 定义个图标用于切换主题 div div