在Vue中如何使用elementUI实现自定义主题方法


下面我就为大家分享一篇Vue的elementUI实现自定义主题方法,具有很好的参考价值,希望对大家有所帮助。
使用vue开发项目,用到elementUI,根据官网的写法,我们可以自定义主题来适应我们的项目要求,下面来介绍一下两种方法实现的具体步骤,(可以参考官方文档自定义主题官方文档),先说项目中没有使用scss编写,用主题工具的方法(使用的较多)
第一种方法:使用命令行主题工具
使用vue-cli安装完项目并引入element-ui(具体可参考第二种方法中的介绍)
一、安装工具
1,安装主题工具
npm i element-theme -g2,安装chalk主题,可以从 npm 安装或者从 GitHub 拉取最新代码
# 从 npm
npm i element-theme-chalk -D
# 从 GitHub
npm i https://github.com/ElementUI/theme-chalk -D二、初始化变量文件
et -i [可以自定义变量文件,默认为element-variables.scss]
> ? Generator variables file这时根目录下会产生element-variables.scss(或自定义的文件),大致如下:
$--color-primary: #409EFF !default;
$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
$--color-success: #67c23a !default;
$--color-warning: #eb9e05 !default;
$--color-danger: #fa5555 !default;
$--color-info: #878d99 !default;
...三、修改变量
直接编辑 element-variables.scss 文件,例如修改主题色为自己所需要的颜色(如: 紫色(purple))
$--color-primary: purple;四、编译主题
修改完变量后,要编译主题(如果编译后,再次修改了变量,需要重新编译)
et
> ? build theme font
> ? build element theme五、引入自定义主题
最后一步,将编译好的主题文件引入项目(编译的文件默认在根目录下的theme文件下,也可以通过 -o 参数指定打包目录),在入口文件main.js中引入
import '../theme/index.css'
import ElementUI from 'element-ui'
import Vue from 'vue'
Vue.use(ElementUI)在项目中写些样式,看下主题色是否改变:(主题色变为紫色)
<p>
<el-button>默认按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="success">成功按钮</el-button>
<el-button type="info">信息按钮</el-button>
<el-button type="warning">警告按钮</el-button>
<el-button type="danger">危险按钮</el-button>
</p>第二种方法: 直接修改element样式变量
在项目中直接修改element的样式变量,(前提是你的文档也是使用scss编写)
一、首先用vue-cli安装一个新项目:
1,安装vue:
npm i -g vue2,在项目目录下安装vue-cli:
npm i -g vue-cli3,基于webpack建立新项目( vue-project)
vue init webpack vue-project4,依次输入以下命令行,运行vue-project
cd vue-project
npm i
npm run dev二、安装elementUI以及sass-loader,node-sass(项目中使用scss编写需要依赖的插件)
1,安装element-ui
npm i element-ui -S2,安装sass-loader,node-sass
npm i sass-loader node-sass -D在这里说一下,不需要配置webpack.base.conf.js文件,vue-loader会根据不同类型文件来配置相应loader来打包我们的样式文件(感兴趣的可看下vue-loader的核心代码)
三、改变element样式变量
1.在src下建立element-variables.scss文件(名字可以自定义),写入如下代码:
/* 改变主题色变量 */
$--color-primary: teal;
/* 改变 icon 字体路径变量,必需 */
$--font-path: '../node_modules/element-ui/lib/theme-chalk/fonts';
@import "../node_modules/element-ui/packages/theme-chalk/src/index";2.在入口文件main.js中引入上面的文件即可
import Vue from 'vue'
import Element from 'element-ui'
import './element-variables.scss'
Vue.use(Element)看下效果吧,在文件里引入些样式看看,如button
<p>
<el-button>默认按钮</el-button>
<el-button type="primary">主要按钮</el-button>
<el-button type="success">成功按钮</el-button>
<el-button type="info">信息按钮</el-button>
<el-button type="warning">警告按钮</el-button>
<el-button type="danger">危险按钮</el-button>
</p>默认的颜色已经变为我们自定义的了,有其他的改变在element-variable.scss文件中改变变量即可
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
如何使用ngrok+express解决微信接口调试问题
如何使用vue-cli编写vue插件
在vue-cli下使用vuex(详细教程)

(易股姣18697088002)如何用vue开发后台系统的页面 - ______ 介绍:这是一个用vuejs2.0和element搭建的后台管理界面.相关技术:vuejs2.0:渐进式JavaScript框架,易用、灵活、高效,似乎任何规模的应用都适用.element:基于vuejs2.0的ui组件库.vue-router:一般单页面应用spa都要用到的前端路由.vuex:Vuex是一个专为Vue.js应用程序开发的状态管理模式.

(易股姣18697088002)element表格每条数据加一个标题行怎么写 - ______ element更改表格表头、行、指定单元格样式 在学习vue过程中,总结了一下使用element时更改表格样式的方式.

(易股姣18697088002)vue element 怎么改源码 - ______ 通过disabled属性职位true设置按钮不可用. 1、获取按钮对象2、设置按钮对象的disabled的属性为true(禁用),false(不禁用)示例: btn=document.getElementById('按钮的ID');btn.disabled=true;

(易股姣18697088002)Vue组件里的el怎么使用 - ______ 下载最新的vue$ npm install vue js 引用 vue.js 开始代码,感受vue强大的双向数据绑定 {{ message }} new Vue({ el: '#app', data: { message: 'Hello Vue.js!' }}) 实战代码: {{ todo.text }} X new Vue({ el: '#app', data: { newTodo: '

(易股姣18697088002)如何用import方法使用element ui的js - ______ import Vue from 'vue' import 'element-ui/lib/theme-default/index.css' import ElementUi from 'element-ui' Vue.use(ElementUi) // 使用element-ui/* 要 把element-ui的css和element-ui一起引入进去,如果是单独使用element-ui的某一个组件,需要安装babel-plugin-component 然后在babel里边配置,具体官网上面有,你可以去看一下 */

(易股姣18697088002)怎么学习Element - ui的源码 - ______ 平常一直在用element的组件. 去github上看下了,就是想系统的学习一下写这种ui组件库是怎样的一个过程.(平常一直在使用es6和vue2.0)1. 先看老版本.两个好处:一是老版本功能少点,便于学习.二是在你觉得看的差不多的时候,可以看看...

(易股姣18697088002)element ui 中怎么使用vue原生ref属性 - ______ 这个 ref 被 绑定到根上了,可以通过 $root 来获取

(易股姣18697088002)webdriver+java z中怎么处理element+vue框架的下拉选择框的选择操作 - ______ String listValue = "需要选择的下拉框中的文字"; Select select = new Select(webElement); select.selectByVisibleText(listValue);

(易股姣18697088002)vue.js+element中标签,<el - table - column>标签怎样给这个标签在js中设置颜色属性; - ______ 直接绑定个类吧(其中:key是你的vue数据的变量,key1是具体的值) 1 <el-table-column :class="key=='key1'?'bg-red':''"></el-table-column> css: 1 .bg-red{ background:#f00;}

(易股姣18697088002)vue.js+element多文件上传怎么获取文件集合的长度 - ______ 多文件上传也是一张一张上传的吧,可以利用 on-succsess 上传成功后把url添加进 file-list(好像是这个属性) 里面