XIcon — 自封装 SVG 图标
零三方依赖的 SVG 图标组件。所有图标来自 XIcon/icon/ 下的分类文件夹,构建时自动收集,无需手动注册。默认单色(currentColor),不传 color 时继承父级字体色。
实时演示
vue
<XIcon name="code" />
<XIcon name="send" color="#22c55e" />
<XIcon name="like" color="#ef4444" />
<XIcon name="loading" spin />Props
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
name | string | —(必填) | 图标名(全局唯一) |
color | string | '' | 图标颜色;不传继承父级 color |
size | number | string | '' | 数字按 px,字符串原样(如 "2em");不传随父级字号 |
spin | boolean | false | 是否旋转(常用于 loading) |
使用说明
- 图标名全局唯一,即使跨分类也不重复。
XIcon/icon.js通过import.meta.glob('./icon/**/*.svg', { query: '?raw' })自动收集,拷贝目录时需连同icon/子文件夹一起复制。- 新图标:在
XIcon/icon/<分类>/放.svg(文件名即图标名),SVG 单色fill会被自动归一为currentColor,无需改注册代码。