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 相关文章推荐
js检查页面上有无重复id的实现代码
Jul 17 Javascript
jQuery实现根据滚动条位置加载相应内容功能
Jul 18 Javascript
浅谈JavaScript中的this指针和引用知识
Aug 05 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 Javascript
vue绑定设置属性的多种方式(5)
Aug 16 Javascript
js前端导出Excel的方法
Nov 01 Javascript
如何在js代码中消灭for循环实例详解
Jul 29 Javascript
vue2.0父子组件间传递数据的方法
Aug 16 Javascript
js计时事件实现圆形时钟
Mar 25 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
May 16 Javascript
JS轮播图的实现方法
Aug 24 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 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调用Webservice实例代码
2011/07/29 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
浅谈页面装载js及性能分析方法
2014/12/09 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
python筛选出两个文件中重复行的方法
2018/05/31 Python
Python socket模块ftp传输文件过程解析
2019/11/05 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
python属于哪种语言
2020/08/16 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
科室工作的个人自我评价
2013/10/30 职场文书
质检部部长职责
2013/12/16 职场文书
岗位聘任书范文
2014/03/29 职场文书
招商银行收入证明
2015/06/17 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
MySQL 字符集 character
2022/05/04 MySQL