Vue + ElementUI 动态更换皮肤主题色,样式保存至本地(记录踩坑:图标失效、颜色只第一次生效、衍生色未动态改变)

本文主要是介绍Vue + ElementUI 动态更换皮肤主题色,样式保存至本地(记录踩坑:图标失效、颜色只第一次生效、衍生色未动态改变),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        使用的是网上大多数人使用的方法,vuex保存颜色值,创建ThemePicker组件,参考(1条消息) Vue + ElementUI 实现动态更换任意主题色(动态换肤)_vue element 动态切换主题_趣果有间的博客-CSDN博客网上很多都是接口获取elementui线上的theme-chalk样式修改主题色,但是它非常不稳定,访问速度慢,今天一看还挂了,所以必须保存到本地才行,这里记录一下我遇到的问题。

        在ThemePicker组件目录下,新建chalk.js文件,暴露css样式

export const chalkCss = `https://unpkg.com/element-ui@2.15.11/lib/theme-chalk/index.css接口获取的内容`

        在组件中引入使用,同上参考文章

1、引入本地文件后,elementui图标问题

        修改chalk.js文件,处理\转译问题,content:"\ 全部替换成 content:"\\

2、清除localStorage,颜色首次生效,修改颜色后未生效

        如果初始默认颜色与elementui的默认颜色不一致,要同时修改chalk.js文件中的颜色,如我的默认主题色是#4877fb,就将#409EFF全部替换成#4877fb,否则颜色不能生效。

3、衍生色修改失败

        后续又发现,若只修改主题颜色,hover或者focus等衍生颜色仍然不能动态改变。其实是上面这个问题没有完全解决。

        解决方法:在chalk.js文件中,修改原衍生色,按照elementUI中的顺序。

         下图左侧是我debug主题色组件代码,计算后得出的衍生色值,右侧是上图ElementUI的主色和衍生色值。将chalk.js中右侧的值替换成左侧的值即可

最后一个是active的效果 #3a8ee6替换为#416be2

这篇关于Vue + ElementUI 动态更换皮肤主题色,样式保存至本地(记录踩坑:图标失效、颜色只第一次生效、衍生色未动态改变)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543810

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用