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 相关文章推荐
使用jquery插件实现图片延迟加载技术详细说明
Mar 12 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
深入浅析JavaScript中对事件的三种监听方式
Sep 29 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 Javascript
jQuery插件开发汇总
May 15 Javascript
jQuery File Upload文件上传插件使用详解
Dec 06 Javascript
JS一个简单的注册页面实例
Sep 05 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
js中apply和Math.max()函数的问题及区别介绍
Mar 27 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
Jun 07 Javascript
小程序页面动态配置实现方法
Feb 05 Javascript
js实现3D旋转效果
Aug 18 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
php cookie 登录验证示例代码
2009/03/16 PHP
PHPMyAdmin 快速配置方法
2009/05/11 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php遍历CSV类实例
2015/04/14 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
JavaScript 原型继承
2011/12/26 Javascript
js快速排序的实现代码
2013/12/08 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
React中的render何时执行过程
2018/04/13 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
js实现简单的秒表
2020/01/16 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python实现从web抓取文档的方法
2014/09/26 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
python自定义时钟类、定时任务类
2021/02/22 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
python实现移动木板小游戏
2020/10/09 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
年终自我鉴定
2013/10/09 职场文书
酒店办公室文员岗位职责
2013/12/18 职场文书
家长写给老师的建议书
2014/03/13 职场文书
环保倡议书格式范文
2014/05/14 职场文书
2014年转正工作总结
2014/11/08 职场文书
离婚协议书范文2016
2016/03/18 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技