当前位置: 首页 > news >正文

湖北省建设部网站公告免费网站如何做推广

湖北省建设部网站公告,免费网站如何做推广,网站开发所需能力,酒店为什么做网站封装UI组件库系列第三篇封装Icon图标组件 🌟前言 🌟封装Icon 1.创建Icon组件 2.引用svg图标库 第一步 第二步 第三步 3.二次封装 4.封装自定义属性 🌟总结 🌟前言 在前端开发中,大家可能已经用过各种各样的UI组…

封装UI组件库系列第三篇·封装Icon图标组件

🌟前言

🌟封装Icon

1.创建Icon组件

 2.引用svg图标库

第一步

 第二步

 第三步

3.二次封装

4.封装自定义属性

 🌟总结


🌟前言

在前端开发中,大家可能已经用过各种各样的UI组件库了,现在市面上热门的有Element-uiAnt Design等等,这些即插即用的组件库确实大大提升了开发效率,避免了很多的重复劳动,但这些组件库再怎么完善,又怎么能满足得了我们可爱的产品经理呢?所以工作中难免会需要开发公司内部的UI组件库,或者基于已有组件库进行二开。

【封装UI组件库系列】文章,将从0开始--》搭建项目--》封装八大经典功能组件--》打包组件库--》将组件库发布至npm--》使用自己封装的组件库。技术方面使用的是Vue3 + Vite + Sass 来完成一个模仿Element Plus的组件库。最终完成效果如下:

从零开始封装UI组件库效果演示

🌟封装Icon

1.创建Icon组件

删除components中的内容,新建Icon/Icon.vue 创建组件模板:

接下来在mian.js中引入并注册自定义组件:

 2.引用svg图标库

因为我们不可能去一个个画这些图标,所以需要使用到现成的图标库,我这里选择的是fortawesome图标库。

第一步

先安装fortawesome核心包:

pnpm add @fortawesome/fontawesome-svg-core

免费图标包:

pnpm add @fortawesome/free-solid-svg-icons

 Vue3版本插件:

pnpm add @fortawesome/vue-fontawesome

 第二步

在mian.js中引入注册

 第三步

在Icon组件中使用:

3.二次封装

因为Icon组件我们是在fortawesome的基础上进行二次封装,所以还是比较简单,但实际开发中,其实会有比较多的,需要二开的情况存在,这里fortawesome提供的属性也是比较多的,如下:

属性名作用类型是否必须默认值
icon设置图标String
size图标大小String
rotation旋转[String, Number]
flip翻转[String, Number]
beatbeat动画Boolean
beat-fadebeat-fade动画Boolean
bouncebounce动画Boolean
fadefade动画Boolean
shakeshake动画Boolean
spinspin动画Boolean
spin-reversespin-reverse动画Boolean
spin-pulsespin-pulse动画Boolean

那这些已有的属性我们就继承过去,然后也来定义一个属性练练手,因为前面一篇文章中我们已经定义了主题色,及各种类型色,那这里就来定义一个 type控制Icon类型。

新建style/components/icon.scss用来定义Icon组件样式。

先定义一些继承样式并记得在样式入口文件引入:

新建src/components/icon/props.js  这个文件用来定义属性:

先定义一个 icon 属性

因为icon是fortawesome自带的属性,所以我们可以接收一下,然后直接传递给fortawesome:

这时在IconView.vue文件使用 <visual-Icon icon="user-secret"></visual-Icon> :

同理,我们可以在props.js 定义其他fortawesome支持的属性并传值:

// 该文件负责定义组件的属性 props
export default {// 图标icon: {type: String,required: true},// 大小size: {type: String},// 旋转rotation: {type: [Number, String]},// 翻转flip: {type: [Number, String]},// 下面是动画效果相关的属性beat: Boolean,bounce: Boolean,fade: Boolean,shake: Boolean,spin: Boolean,'beat-fade': Boolean,'spin-reverse': Boolean,'spin-pulse': Boolean,// 下面是自定义属性type: String,
}

效果如下:

4.封装自定义属性

上面这些都是自带的,接下来我们再来自定义一个type属性,用来控制图标颜色:

那怎么动态设置样式呢?

这时候可以看到都已经挂上了对应的样式类 :

 

接下来就是设置样式:

这里使用的是样式类覆盖的方法。这也是后面会大量使用的一种控制样式的方法。

接下来在调用一下看看效果:

如此,本篇关于Icon组件的封装就结束了,还是比较简单,后面篇封装的功能会逐渐增加功能与难度。

 🌟总结

 【封装UI组件库系列】文章会持续更新,将带着大家从0开始--》搭建项目--》封装八大经典功能组件--》打包组件库--》将组件库发布至npm--》最后使用自己封装的组件库。如果文中出现有瑕疵的地方各位通过评论或者私信联系我,我们一起进步!该系列文章建议从第一篇开始看,系列专栏地址:从零开始封装UI组件库完整篇

http://www.yayakq.cn/news/531283/

相关文章:

  • 全国做网站的公司襄阳高新区建设局网站
  • 要做一个网站得怎么做室内设计师网名专用
  • 好设计英文网站合肥建设网站公司
  • 有什么网站建设软件有哪些建筑工程网站免费
  • 网站开发的布局划分山东省建设监理协会官方网站
  • 直接IP做网站网络优化网站 s
  • 优化网站wordpress小吃模版
  • 百度网站做不做动漫制作专业用什么样的电脑比较好
  • 济南门户网站建设安装wordpress报404错误
  • 济南行知网站建设有限公司怎么样seo网络推广教程
  • 平面设计素材网站有哪些建设银行关闭网站查询信用卡账单
  • 怎么建网站链接小程序推广方式有哪些
  • 微信公众号怎么进行网站建设wordpress投稿者权限
  • 美橙互联网站打不开加强网站基础建设项目
  • 网站弹出qq聊天窗口建设银行春招网站
  • 那个网站是专门做渔具的网站建设与开发的论文
  • wordpress子站点用户无角色搜索引擎内部优化
  • 国家住房和城乡建设网站安阳百度
  • 上海网站制作的费用开一个网站需要多少钱
  • 各种网站解决方案cad线下培训班
  • 免费下载网站设计方案搜索引擎优化百度
  • 做北美市场用哪个网站360seo排名优化服务
  • 广州交通站场建设管理中心网站闽侯网站建设
  • p2p网站建设报价2p排名怎样做网站后台优化
  • 可信赖的南昌网站制作交易平台网站建设
  • 做理财的网站魔站网站开发
  • 网站开发的技术可行性怎么写排名网站
  • jsp网站开发工具及语言wordpress自定义文章代码和样式
  • 做一家直播卖货的网站营销方案
  • 网站开发静态怎样转成动态获取网站目录下所有文件