跳转到正文

Icon 图标

用于统一承载字体图标与内联 SVG 图标,支持主题变量驱动的颜色、尺寸和旋转状态,适合和按钮、标签、提示类组件组合使用。

基础用法

font-class 模式适合接入现有 iconfont 资源。下面的示例使用局部样式模拟字体图标类名,方便在文档里直接预览。

SVG 用法

svg 模式通过默认插槽传入 pathg 等 SVG 内容,不依赖额外图标资源。

主题能力

尺寸和颜色都可以直接通过 Props 驱动,也可以绑定到现有主题 CSS 变量。

状态与无障碍

通过 spin 启用旋转动画,通过 label 为辅助技术提供可读名称;没有 label 时组件会自动标记为装饰性图标。

结合 Button 使用

Icon 可以直接放进 Buttonicon 插槽,复用按钮的前置图标布局能力。

接口说明

属性

名称类型默认值说明
mode'font-class' | 'svg''font-class'图标渲染模式。
namestringundefinedfont-class 模式下的图标类名,例如 icon-search
classPrefixstring'iconfont'font-class 模式下的基础类名。
sizestring | number'1em'图标尺寸,数字会被转换为 px
colorstring'currentColor'图标颜色,支持主题变量和原始 CSS 颜色值。
viewBoxstring'0 0 1024 1024'svg 模式下的 viewBox
spinbooleanfalse是否启用内置旋转动画。
labelstringundefined提供给辅助技术的可访问名称;未传时自动标记为装饰性图标。

事件

名称类型默认值说明
click(event: MouseEvent) => void-点击图标根节点时触发。

插槽

名称类型默认值说明
default() => VNode[]-svg 模式下的内联 SVG 内容,通常传入 pathg 等节点。

基于 MIT 协议开源发布。