SxIcon UI 设计规范

自动生成时间: 2026-02-04 组件路径: src/NextUI.Blazor/Components/SxIcon.razor

1. 组件概述

  • 组件包含 7 个参数,0 个回调,0 个公开方法。
  • 依赖注入: IJSRuntime JS。

2. 组件模式

模式 条件 说明
条件渲染 Set == "lucide" 影响局部渲染块

3. 表单字段

字段组件 绑定
- -

4. 操作按钮

外观 动作/链接 禁用条件
- - -

5. 验证规则

未检测到显式验证标记。

6. 状态与流程

内部状态字段: 未检测到明确状态字段。

7. 公共 API

7.1 Parameters

参数 类型 默认值 说明
Name string "" Icon name (e.g. "house", "user").
Set string "fa" Icon set identifier: "fa" - Font Awesome 7 Pro Plus (default), "bi" - Bootstrap Icons, "lucide" - Lucide Icons (SVG).
Size IconSize IconSize.Size16 Icon size.
IconStyle IconStyle IconStyle.Regular Icon style (mainly for Font Awesome).
Animation IconAnimation IconAnimation.None Icon animation.
Rotation IconRotation IconRotation.Deg0 Rotation.
Flip IconFlip IconFlip.None Flip.

7.2 Public Methods

无公开方法。

7.3 Events/Callbacks

无回调事件。

8. 典型使用场景 (Use Cases)

8.1 UC-1: 基础渲染

  1. 组件渲染默认状态
  2. 关键区域可见
  3. 无异常

9. 状态不变性测试 (State Invariants)

  • 同一参数重复设置不应触发非必要 UI 改变
  • 与表单字段无关的操作不应影响字段值

10. 测试检查点

  • 条件 Set == "lucide" 下渲染正确

11. Fluent UI 对齐

对应 Fluent UI Blazor 组件:FluentIcon 源码:src/Core/Components/Icons/FluentIcon.razor(.cs)、src/Core/Components/Icons/CoreIcons.cs 对齐要点:

  • Value 为空时会初始化默认 Icon;Width 未设时使用 Icon 自带尺寸。
  • 颜色解析优先级:CustomColor(仅 Color.Custom)> Color > Icon 自带颜色;非彩色变体才写 fill
  • OnClick 绑定时设置 cursor:pointer,支持 Enter 触发;Focusable 会加入 tabindex/role。 关键参数/事件:
  • ValueWidthColorCustomColorFocusableOnClick。 差异与扩展:
  • SxIconGallery/SxIconStack 可作为 Fluent 图标集合的组织层,但交互与颜色规则应保持一致。

12. 参考文档摘要

  • docs/ComponentInventory.md: NextUI 组件全量版图审计 (Fluent UI v4.13.2 对齐) 本文档作为 NextUI 设计系统的“全量施工蓝图”,实时对齐 Microsoft Fluent UI Blazor v4.13.2 官方组件库。所有组件分为已实现 [x]、开发中 [-] 和待开发 [ ] 状态。
  • docs/ComponentAPIGuide.md: Next UI Component API Guide (Standard Interface) 本指南定义了 Next UI 组件的标准接口。我们的目标是 API 兼容优先,确保与 Microsoft Fluent UI Blazor 库的命名习惯对齐。
  • docs/components/SxIcon.md: SxIcon (图标) - Implemented

13. 规范合规检查

  • 可能存在硬编码样式: 存在 px 硬编码

14. 变更历史

  • 2026-02-04: 深度分析填充规范。