外观
Icon 图标
约 866 字大约 3 分钟
2025-10-31
基于字体的图标集,包含了大多数常见场景的图标。
基本使用
通过<un-icon>形式来调用,设置name参数为图标名即可。其中color默认为#606266,size默认为16px
<un-icon name="photo"></un-icon>修改图标的样式
- 通过
color参数修改图标的颜色 - 通过
size参数修改图标的大小,单位为 px
<un-icon name="photo" color="#2979ff" size="28"></un-icon>图片图标
这里说的图片图标,指的是小图标,起作用定位为"icon"图标作用,而非大尺寸的图片展示场景,理论上,这个小图标应该为png格式的正方形图标。
上面说到,给组件的name参数传入一个图片的名称即可显示字体图标,这些名称中不能带有/斜杠符号,否则会被认为是传入了图片图标,同时,size参数 也被设置为这个图片图标的宽度,由于是图片,诸如颜色color等参数都会失效。
<un-icon
label="uView"
size="40"
name="https://uviewui.com/example/button.png"
></un-icon>自定义图标
通过prefix设置iconfont图标类,通过name或者插槽传入Unicode字符即可显示图标。
由于Unicode字符不便于识别图标,所以新增了desc参数,用于描述图标,无实际功能作用,仅为了开发时快速识别图标。
注意:
name属性无需添加\u前缀,只能传入e606这样的字符。如果需要使用插槽,则需要添加\u前缀
<un-icon name="e606" desc="皮肤图标" prefix="custom-icon" size="24"></un-icon>
<un-icon prefix="custom-icon" size="24">{{'\ue606'}}</un-icon>App.vue
@font-face {
font-family: 'custom-icon';
src: url("https://at.alicdn.com/t/c/font_4816151_kp3yd3ef5hh.ttf") format("truetype");
}
.custom-icon {
font-family: "custom-icon" !important;
}API
该组件使用频率较高,为了更好的性能,icon 组件不再支持
label属性,如有需求,请使用text组件。
Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| name | 图标名称,见示例图标集,如名称带有/,会被认为是图片图标 | String | - |
| desc | 图标描述,无实际作用,仅用于便于阅读 | String | - |
| color | 图标颜色 | String | - |
| size | 图标字体大小,单位默认 px | String | Number | 16px |
| bold | 是否显示粗体 | Boolean | false |
| index | 一个用于区分多个图标的值,点击图标时通过click事件传出 | String | Number | - |
| hoverClass | 图标按下去的样式类,用法同 uni 的view组件的hover-class参数,详见:hover-class | String | - |
| prefix | 自定义字体图标库时,需要写上此值 | String | uicon |
| imgMode | 图片裁剪、缩放的模式,image 组件原生属性,详见:image | String | - |
| width | name为图片路径时图片的宽度,单位默认 px | String | Number | - |
| height | name为图片路径时图片的高度,单位默认 px | String | Number | - |
| top | 图标到顶部的距离,如果某些场景,如果图标没有垂直居中,可以调整此参数,单位默认 px | String | Number | 0 |
| stop | 是否阻止事件传播 | Boolean | false |
Events
| 事件名 | 说明 | 回调参数 | 版本 |
|---|---|---|---|
| click | 点击图标时触发 | index: 通过props传递的index值 | - |
图标集
level
woman
man
arrow-left-double
arrow-right-double
chat
chat-fill
red-packet
red-packet-fill
order
checkbox-mark
arrow-up-fill
arrow-down-fill
backspace
photo
photo-fill
lock
lock-fill
lock-open
lock-opened-fill
hourglass
hourglass-half-fill
home
home-fill
fingerprint
cut
star
star-fill
share
share-fill
volume
volume-fill
volume-off
volume-off-fill
trash
trash-fill
rewind-right
rewind-right-fill
rewind-left
rewind-left-fill
shopping-cart
shopping-cart-fill
question
question-circle
question-circle-fill
plus
plus-circle
plus-circle-fill
tags
tags-fill
pause
pause-circle
pause-circle-fill
play-circle
play-circle-fill
map
map-fill
phone
phone-fill
list
list-dot
man-delete
man-add
man-add-fill
person-delete-fill
info
info-circle
info-circle-fill
minus
minus-circle
minus-circle-fill
mic
mic-off
grid
grid-fill
eye
eye-fill
eye-off
file-text
file-text-fill
edit-pen
edit-pen-fill
email
email-fill
download
checkmark
checkmark-circle
checkmark-circle-fill
clock
clock-fill
close
close-circle
close-circle-fill
calendar
calendar-fill
car
car-fill
bell
bell-fill
bookmark
bookmark-fill
attach
play-right
play-right-fill
play-left
play-left-fill
error
error-circle
error-circle-fill
wifi
wifi-off
skip-back-left
skip-forward-right
search
setting
setting-fill
more-dot-fill
more-circle
more-circle-fill
bag
bag-fill
arrow-upward
arrow-downward
arrow-leftward
arrow-rightward
arrow-up
arrow-down
arrow-left
arrow-right
rmb
rmb-circle
rmb-circle-fill
thumb-up
thumb-up-fill
thumb-down
thumb-down-fill
coupon
coupon-fill
kefu-ermai
server-fill
server-man
scan
warning
warning-fill
google
google-circle-fill
chrome-circle-fill
ie
IE-circle-fill
github-circle-fill
android-fill
android-circle-fill
apple-fill
camera
camera-fill
pushpin
pushpin-fill
minus-square-fill
plus-square-fill
heart
heart-fill
reload
account
account-fill
minus-people-fill
plus-people-fill
integral
integral-fill
zhihu
zhihu-circle-fill
gift
gift-fill
zhifubao
zhifubao-circle-fill
weixin-fill
weixin-circle-fill
twitter
twitter-circle-fill
taobao
taobao-circle-fill
weibo
weibo-circle-fill
qq-fill
qq-circle-fill
moments
moments-circel-fill
qzone
qzone-circle-fill
facebook
facebook-circle-fill
baidu
baidu-circle-fill
share-square
douyin
douyin-circle-fill
rotate
back
revoke
caret-down
caret-left
caret-right
caret-up
Scss 变量
| 变量名 | 默认值 | 说明 |
|---|---|---|
| $un-icon-text-font-size | $text-base | 图标字体大小 |
| $un-icon-text-line-height | $text-base | 图标行高 |
提示
组件内部默认使用 scss 变量,如需修改,请查看 scss 变量使用 文档
