Skip to content

Icon 图标组件

温馨提示

本项目参考了 uView-Plus 开源项目的组件开发方式,基于 Vue 3 和 TypeScript 实现了自定义组件。目前该组件仍处于测试阶段。
感谢 uView-Plus 开源项目及其团队成员的贡献,他们的组件开发思路为本项目提供了宝贵地参考。如果需要了解更多组件开发细节,可以参考uView-Plus的 icon组件 的代码实现。

平台差异说明

APP(vue)H5微信小程序

基本使用示例

html
<!-- 全局导入 -->
<hy-icon :name="IconConfig.Loading"></hy-icon>
<!-- 单个组件导入 -->
<HyIcon :name="IconConfig.Loading"></HyIcon>
js
import { IconConfig, HyIcon } from "hy-app";

修改图标的样式

  • 通过color参数修改图标的颜色
  • 通过size参数修改图标的大小,单位为px
html
<hy-icon name="photo" color="#2979ff" size="28"></hy-icon>

图片图标(带圆角)

html
<view class="hy-flex">
  <hy-icon
          name="https://q9.itc.cn/q_70/images03/20250211/6ee1b8e0f4704083ba715986c8c3795f.jpeg"
          size="80"
          round="5px"
  />
</view>

图标文字位置

html
<view class="hy-flex">
  <hy-icon :name="IconConfig.LOCK" label="横向" label-pos="right" />
  <hy-icon :name="IconConfig.LOCK" label="纵向" label-pos="bottom" />
</view>

图标旋转

html
<view class="hy-flex">
  <hy-icon :name="IconConfig.LOCK" is-rotate />
</view>

自定义icon

  • 直接在阿里矢量图标库下载,
    • name为图标名称,
    • customPrefix为你项目设置中的FontClass/Symbol前缀
html
<hy-icon label="uview-plus" size="40" name="search" customPrefix="custom-icon"></hy-icon>

API

参数说明类型默认值
name图标名称,见示例图标集string | IconConfig-
size图标字体大小,单位默认pxstring | number16px
color图标颜色string#606266
bold是否显示粗体booleanfalse
index一个用于区分多个图标的值,点击图标时通过click事件传出string | number-
hoverClass图标按下去的样式类,用法同uni的view组件的hover-class参数, 详见:hover-classstring-
customPrefix(暂不可用)自定义字体图标库时,需要写上此值,详见:扩展自定义图标库stringhy-icon
label图标右侧/下方的label文字string-
labelPoslabel相对于图标的位置stringright
labelSizelabel字体大小,单位默认pxstring | number15px
labelColorlabel字体颜色string-
spacelabel与图标的距离,单位默认pxstring | number3px
imgMode图片裁剪、缩放的模式,image组件原生属性,详见:imagestring-
widthname为图片路径时图片的宽度,单位默认pxstring | number-
heightname为图片路径时图片的高度,单位默认pxstring | number-
top图标到顶部的距离,如果某些场景,如果图标没有垂直居中,可以调整此参数,单位默认pxstring | string | number0
stop是否阻止事件传播boooleanfalse
isRotate是否自动旋转(用于loading)boooleanfalse
round图标圆角string | number-
customStyle自定义样式CSSProperties-

Events

事件名说明回调参数
click点击图标时触发index: 通过props传递的index

图标集

加载动画LOADING
关闭CLOSE
空星STAR
实星STAR_FILL
微笑SMILE
微笑-实心SMILE_FILL
难过-实心CRY_FILL
打勾,勾选CHECK_MASK
编辑EDIT
商城SHOP
实心锁LOCK_FILL
打开实心锁LOCK_OPEN_FILL
空心锁LOCK
地点MAP
地点-实心MAP_FILL
购物车SHOPPING_CART
购物车-实心SHOPPING_CART_FILL
添加购物车SHOPPING_CART_ADD
购物袋SHOPPING_BAG
刷新REFRESH
任务TASK
标签TAG
LEFT
RIGHT
UP
DOWN
向上-实心ARROW_UP_FILL
向下-实心ARROW_DOWN_FILL
向左-实心ARROW_LEFT_FILL
向右-实心ARROW_RIGHT_FILL
向左双箭头ARROW_DOUBLE_LEFT
向右双箭头ARROW_DOUBLE_RIGHT
箭头向左ARROW_LEFTWARD
箭头向右ARROW_RIGHTWARD
历史HISTORY
时间TIME
网络NETWORK
列表LIST_DOT
菜单MENU
搜索SEARCH
PLUS
MINUS
提醒REMIND
警告WARNING
警告-实心WARNING_FILL
删除DELETE
删除-实心DELETE_FILL
筛选SCREEN
分类CLASS
应用CLASS_FILL
首页HOME
首页-实心HOME_FILL
我的MINE
我的-实心MINE_FILL
设置SETTING
关闭圆圈CLOSE_CIRCLE
关闭圆圈-实心CLOSE_CIRCLE_FILL
注意NOTICE
注意-实心NOTICE_FILL
成功SUCCESS
成功-实心SUCCESS_FILL
帮助HELP
帮助-实心HELP_FILL
上传UPLOAD
转换SWITCH
下载DOWNLOAD
保护SECURITY
扫码SCAN
保存SAVE
图片PHOTO
pdfPDF
导航NAVIGATION
打印PRINT
layersLAYERS
链接LINK
导出EXPORT
省略号ELLIPSIS
客服CUSTOMER_SERVICE
信息COMMENT
消息MESSAGE
消息-实心MESSAGE_FILL
通知-实心NOTIFICATION_FILL
附件ATTACHMENT
相机CAMERA
眼睛EYE
日历CALENDAR
复制COPY
订单ORDER
分享SHARE
分享-实心SHARE_FILL
发送SEND
00:46