开发预览 更新于 2026-05-10

Icon 图标

ChuFix 内置 SVG 图标组件,类型化 name,默认内联渲染,无需额外挂载 sprite。

基础用法

name 使用 IconName 类型,来自 @chufix-design/icons 的 231 个内置图标名。默认作为装饰性图标渲染;需要可访问名称时传 titlelabel

search
check-circle
alert-circle
calendar
table
layout
modal
component
theme-token
schema
diff
sandbox
<CfIcon name="search" />
<CfIcon name="calendar" size="lg" />
<CfIcon name="component" :size="28" />
<CfIcon name="check-circle" color="var(--status-success)" />
<CfIcon name="loader" motion="spin" />
<CfIcon name="alert-circle" title="错误" />
<CfIcon name="search" />
<CfIcon name="calendar" size="lg" />
<CfIcon name="component" size={28} />
<CfIcon name="check-circle" color="var(--status-success)" />
<CfIcon name="loader" motion="spin" />
<CfIcon name="alert-circle" title="错误" />

尺寸

size 接受预设档位(xs / sm / md / lg / xl)或数字 / 字符串(自定义 px / em)。

xs sm md lg xl 32px
<CfIcon name="search" size="xs" />
<CfIcon name="search" size="sm" />
<CfIcon name="search" size="md" />
<CfIcon name="search" size="lg" />
<CfIcon name="search" size="xl" />
<CfIcon name="search" :size="32" />
<CfIcon name="search" size="xs" />
<CfIcon name="search" size="sm" />
<CfIcon name="search" size="md" />
<CfIcon name="search" size="lg" />
<CfIcon name="search" size="xl" />
<CfIcon name="search" size={32} />

颜色

不传 color 时图标用 currentColor,跟随父级文字颜色 — 这是默认且最灵活的方式。需要语义色时直接传 token:var(--status-success) / var(--accent-1) 等。

继承父级颜色
<CfIcon name="check-circle" color="var(--status-success)" size="lg" />
<CfIcon name="alert-triangle" color="var(--status-warning)" size="lg" />
<CfIcon name="x-circle" color="var(--status-error)" size="lg" />
<CfIcon name="info" color="var(--status-info)" size="lg" />
<CfIcon name="check-circle" color="var(--status-success)" size="lg" />
<CfIcon name="alert-triangle" color="var(--status-warning)" size="lg" />
<CfIcon name="x-circle" color="var(--status-error)" size="lg" />
<CfIcon name="info" color="var(--status-info)" size="lg" />

动效 motion

motion 给图标加简单的循环动效 — spin(loader 用)/ pulse(呼吸高亮)/ bounce(强引导)。所有动效遵循 prefers-reduced-motion,用户开了减少动画选项时会自动停止。

spin加载中motion="spin"
pulse状态呼吸motion="pulse"
bounce引导方向motion="bounce"
<CfIcon name="loader" motion="spin" size="lg" />
<CfIcon name="circle" motion="pulse" size="lg" />
<CfIcon name="arrow-down" motion="bounce" size="lg" />
<CfIcon name="loader" motion="spin" size="lg" />
<CfIcon name="circle" motion="pulse" size="lg" />
<CfIcon name="arrow-down" motion="bounce" size="lg" />

API

Prop类型默认值说明
nameIconName图标名,类型化校验
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | number | string'md'尺寸
strokeWidthnumber1.5描边宽度
colorstring图标颜色;默认继承 currentColor
motion'spin' | 'pulse' | 'bounce'简单动态图标效果,遵循 prefers-reduced-motion
titlestringSVG title,同时让图标具备 img 语义
labelstringVue 专用 aria-label

React 可直接传 aria-label

<CfIcon name="search" aria-label="搜索" />

图标清单

下面列出当前内置的全部图标。点击任意项会复制带组件前缀的用法,例如 <CfIcon name="search" />

反馈与讨论

Icon 图标 的讨论

0
0 / 600
一键发送
正在加载评论...