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 setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
Jun 11 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
Aug 23 Javascript
详解用Node.js实现Restful风格webservice
Sep 29 Javascript
ES6解构赋值实例详解
Oct 31 Javascript
IntelliJ IDEA 安装vue开发插件的方法
Nov 21 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
js生成1到100的随机数最简单的实现方法
Feb 07 Javascript
vue中 v-for循环的用法详解
Feb 19 Javascript
如何用threejs实现实时多边形折射
May 07 Javascript
JS前端宏任务微任务及Event Loop使用详解
Jul 23 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php实现RSA加密类实例
2015/03/26 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
Seajs源码详解分析
2019/04/02 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
深入理解javascript中的this
2021/02/08 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
阅兵口号
2014/06/19 职场文书
推广普通话标语
2014/06/27 职场文书
天猫活动策划方案
2014/08/21 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
中小学教师继续教育心得体会
2016/01/19 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS