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 相关文章推荐
Prototype Template对象 学习
Jul 19 Javascript
FF IE兼容性的修改小结
Sep 02 Javascript
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
分享14个很酷的jQuery导航菜单插件
Apr 25 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
Jun 02 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
Sep 28 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
监听angularJs列表数据是否渲染完毕的方法示例
Nov 07 Javascript
微信小程序 slot踩坑的解决
Apr 01 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 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和ACCESS写聊天室(三)
2006/10/09 PHP
php header示例代码(推荐)
2010/09/08 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
2020/08/06 PHP
prototype 的说明 js类
2006/09/07 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
详解Flask前后端分离项目案例
2020/07/24 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
Python 创建守护进程的示例
2020/09/29 Python
业务助理岗位职责
2013/11/18 职场文书
生物科学专业个人求职信范文
2013/12/05 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
施工安全生产承诺书
2014/05/23 职场文书
医学生求职自荐书
2014/06/12 职场文书
2014年民政工作总结
2014/11/26 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
初一数学教学反思
2016/02/17 职场文书
离婚协议书范文2016
2016/03/18 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
MySQL数据迁移相关总结
2021/04/29 MySQL
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫