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 相关文章推荐
超级强大的表单验证
Jun 26 Javascript
JS正则验证邮箱的格式详细介绍
Nov 19 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
Dec 17 Javascript
EasyUI折叠表格层次显示detailview详解及实例
Dec 28 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
jquery使用FormData实现异步上传文件
Oct 25 jQuery
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
Nov 30 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
Mar 11 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
Aug 12 Javascript
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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
Yii中render和renderPartial的区别
2014/09/03 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
php递归函数怎么用才有效
2018/02/24 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
值传递还是引用传递
2015/02/08 面试题
静态变量和实例变量的区别
2015/07/07 面试题
中学生班主任评语
2014/01/30 职场文书
承认错误的检讨书
2014/01/30 职场文书
总经理岗位职责范本
2014/02/02 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
党员民主评议自我评价
2014/10/20 职场文书
继承权公证书范本
2015/01/23 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
Redis 哨兵机制及配置实现
2022/03/25 Redis