SxAdminServerSelector UI 设计规范

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

1. 组件概述

  • 组件包含 6 个参数,0 个回调,1 个公开方法。
  • 内部组合组件:SxBadge, SxButton, SxIcon, SxProgressRing, SxSelect, SxStack, SxTypography。

2. 组件模式

模式 条件 说明
条件渲染 _loading 影响局部渲染块
条件渲染 server.Type == ServerType.Keycloak && !string.IsNullOrEmpty(server.DefaultRealm 影响局部渲染块
条件渲染 server.IsDefault 影响局部渲染块

3. 表单字段

字段组件 绑定
SxSelect @bind-Value=_selectedServer

4. 操作按钮

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

5. 验证规则

未检测到显式验证标记。

6. 状态与流程

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

7. 公共 API

7.1 Parameters

参数 类型 默认值 说明
Placeholder string "Select a server..." Placeholder text when no server is selected.
AddServerText string "Add Server" Text for the add server button when no servers exist.
Width string "280px" Width of the selector.
Size ControlSize ControlSize.Medium Size of the add button.
ButtonAppearance ButtonAppearance ButtonAppearance.Outline Button appearance when showing add button.
AutoSelectDefault bool true Whether to auto-select the default server on load.

7.2 Public Methods

  • RefreshAsync: Task

7.3 Events/Callbacks

无回调事件。

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

8.1 UC-1: 基础渲染

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

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

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

10. 测试检查点

  • 条件 _loading 下渲染正确
  • 条件 server.Type == ServerType.Keycloak && !string.IsNullOrEmpty(server.DefaultRealm 下渲染正确
  • 条件 server.IsDefault 下渲染正确

11. Fluent UI 对齐

未在官方 Fluent UI Blazor 组件目录中找到直接对应项(以官方 demo/docs 目录为准)。

12. 参考文档摘要

  • docs/IDENTITY-ADMIN-IMPLEMENTATION-PLAN.md: NextUI.Identity.Admin 真实管理功能实施方案 ## 一、问题分析
  • docs/IDENTITY-ADMIN-PLATFORM.md: NextUI Identity Admin Platform 设计方案 ## 1. 概述

13. 规范合规检查

  • 未检测到明显硬编码颜色/px。

14. 变更历史

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