element-ui 的el-button组件中添加自定义颜色和图标的实现方法


Posted in Javascript onOctober 26, 2018

我使用的element-ui的版本是V1.4.13。

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

如上图所示,如果使用el-button,加颜色是可以通过设置type属性的值,加图标就设置icon属性的值。

现在产品给了一个需求,就是自定义的很多种类别,不同的类别的按钮显示不同的颜色和图标。如下图所示:

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

为了方便开发,目前的解决方案是:添加一个自定义全局指令,同时在element-ui源码中,加入对应的组件。开发人员在开发时只要在type中添加不同的类的值,就能添加上颜色和图标。

1、在element-ui的button源码中加了自定义指令otherRender,以及一个局部组件vRender

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

2、局部组件vRender的写法:

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

这里不懂的可以看下 https://cn.vuejs.org/v2/guide/render-function.html中的函数式组件

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

3、自定义指令otherRender,写在项目公共的js中。这里我先将所有的类对应的颜色类和图标定义好。css样式是根据需求自定义的

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

然后再在指令中循环添加

element-ui 的el-button组件中添加自定义颜色和图标的实现方法

在使用el-button时只要添加对应的type值就能使用,对应的颜色和图标就会显示了

下面看下自定义elementui中的图标

前提

elementui图标库图标较少

当你想用elementui的控件而不想用它的图标时,就可以使用自定义的方式来实现

实现

el-icon-my-export为我自定义的图标命名

<el-button class="default" icon="el-icon-my-export">导出</el-button>
//使用图片来替换
//before属性中的content文本是用来占位的,必须有
//可以设置字体大小来确定大小
//使用visibility: hidden;来隐藏文字
.el-icon-my-export{
  background: url(/officeHouse/resources/images/export.png) center no-repeat;
  background-size: cover;
}
.el-icon-my-export:before{
  content: "替";
  font-size: 16px;
  visibility: hidden;
}

//如果直接使用字体图片
//直接在before属性设置对应的content就行
.el-icon-my-export{
  font-size: 16px;
}
.el-icon-my-export:before{
  content: "\e611";
}

content里面使用汉字大小会比较正常,但是汉字有时候会出现乱码,可以使用Unicode编码

//编码后的的替为 \u66ff
//书写到css里面的时候需要去掉u
.el-icon-my-export:before{
  content: "\66ff";
  font-size: 16px;
  visibility: hidden;
}

其他控件的图标替换大多如此,当然具体问题具体分析,我也不确定会不会有不同的情况

总结

以上所述是小编给大家介绍的element-ui 的el-button组件中添加自定义颜色和图标的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
提高代码性能技巧谈—以创建千行表格为例
Jul 01 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
Dec 19 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
Apr 18 Javascript
javascript实现继承的简单实例
Jul 26 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
javascript实现点亮灯泡特效示例
Oct 15 Javascript
JavaScript实现留言板案例
Mar 17 Javascript
vue 组件简介
Jul 31 Javascript
jQuery实现评论模块
Aug 19 jQuery
angularjs通过过滤器返回超链接的方法
Oct 26 #Javascript
js使用formData实现批量上传
Mar 27 #Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 #Javascript
js自定义input文件上传样式
Oct 26 #Javascript
解决axios会发送两次请求,有个OPTIONS请求的问题
Oct 25 #Javascript
在Vue中使用axios请求拦截的实现方法
Oct 25 #Javascript
webpack4+react多页面架构的实现
Oct 25 #Javascript
You might like
php 常用类整理
2009/12/23 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
jscript之List Excel Color Values
2007/06/13 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
浅谈Python基础之I/O模型
2017/05/11 Python
Django中Forms的使用代码解析
2018/02/10 Python
pyhton列表转换为数组的实例
2018/04/04 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
网络程序员自荐信
2014/01/25 职场文书
财务担保书范文
2014/04/02 职场文书
《火烧云》教学反思
2014/04/12 职场文书
网站出售协议书范文
2014/10/10 职场文书
员工工作及收入证明
2014/10/28 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
一篇文章学会Vue中间件管道
2021/06/20 Vue.js