Icon 图标
Vexip UI 提供 @vexip-ui/icons
作为图标库,该图标库基于 Font Awesome 6.x 的免费图标,将其 SVG 封装成了 Vue 组件。
你可以直接在这个 页面 查询图标(他们给图标起名一直很奇怪)。
当然你完全可以直接在 Icon 组件下放置任何 SVG 内容。如果你想要更换组件内置的图标,请参考 全局配置。
图标组件命名是遵循一定的规则从原图标名转换过来的:
- 一般情况下,就是把短横线小写命名换成首字母大写的驼峰命名(如:
angle-down
->AngleDown
) - 如果是
regular
或者brands
包下的图标,在名字的最后加上R
或者B
的后缀即可(如:regular/bell
->BellR
、brands/github
->GithubB
) - 有少数图标是数字开头的,需要在名字前面加上
I
前缀(如:7
->I7
、brands/500px
->I500pxB
)
代码示例#
API#
预设类型#
ts
type IconEffect = 'spin-in' | 'spin-out' | 'pulse-in' | 'pulse-out' | string
type IconRenderer = (
props: Omit<IconProps, 'renderer'>,
attrs: Record<string, any>,
renderDefault: () => any
) => any
Icon 属性#
名称 | 类型 | 说明 | 默认值 | 始于 |
---|---|---|---|---|
color | string | 设置图标的颜色 | null | 2.2.5 |
effect | IconEffect | 设置效果动画名称或一个自定义类名称 | null | 2.1.0 |
flip | 'horizontal' | 'vertical' | 'both' | 设置图标是否翻转 | null | - |
icon | VueComponent | 图标 <svg> 组件 | null | 2.0.0 |
renderer | IconRenderer | 自定义的渲染方法 | null | 2.2.11 |
rotate | number | string | 设置图标的旋转角度 | null | 2.2.5 |
scale | number | string | 设置图标的缩放比例 | 1 | - |
size | string | 指定图标的大小 | null | 2.2.5 |
title | string | 设置图标的标题属性 | '' | - |