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 相关文章推荐
不能再简单的无闪刷新验证码原理很简单
Nov 05 Javascript
JS动画效果代码3
Apr 03 Javascript
javascript CSS画图之基础篇
Jul 29 Javascript
基于jQuery的日期选择控件
Oct 27 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 Javascript
如何判断出一个js对象是否一个dom对象
Nov 24 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
Dec 06 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 Javascript
VueCli生产环境打包部署跨域失败的解决
Nov 13 Javascript
如何用JavaScript学习算法复杂度
Apr 30 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
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
php链式操作的实现方式分析
2019/08/12 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
2017/05/24 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
javascript History对象原理解析
2020/02/17 Javascript
python处理二进制数据的方法
2015/06/03 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
python如何快速拼接字符串
2020/10/28 Python
Python __slots__的使用方法
2020/11/15 Python
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
装饰资料员岗位职责
2013/12/30 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
致全体运动员广播稿
2014/02/01 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
部门2015年度工作总结
2015/04/29 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python