SxAdminUserRoles UI 设计规范
自动生成时间: 2026-02-04 组件路径: src/NextUI.Blazor/Components/Admin/SxAdminUserRoles.razor
1. 组件概述
- 组件包含 1 个参数,0 个回调,1 个公开方法。
- 内部组合组件:SxButton, SxCard, SxCheckbox, SxDivider, SxIcon, SxMessageBar, SxSearch, SxSelect, SxStack, SxTypography。
2. 组件模式
| 模式 | 条件 | 说明 |
|---|---|---|
| 条件渲染 | !string.IsNullOrEmpty(role.Description |
影响局部渲染块 |
| 条件渲染 | !FilteredAvailableRealmRoles.Any( |
影响局部渲染块 |
| 条件渲染 | !string.IsNullOrEmpty(role.Description |
影响局部渲染块 |
| 条件渲染 | !FilteredAssignedRealmRoles.Any( |
影响局部渲染块 |
| 条件渲染 | AvailableClientRoles.Any( |
影响局部渲染块 |
| 条件渲染 | !string.IsNullOrEmpty(_selectedClient |
影响局部渲染块 |
| 条件渲染 | !string.IsNullOrEmpty(role.Description |
影响局部渲染块 |
| 条件渲染 | !FilteredAvailableClientRoles.Any( |
影响局部渲染块 |
| 条件渲染 | !string.IsNullOrEmpty(role.Description |
影响局部渲染块 |
| 条件渲染 | !FilteredAssignedClientRoles.Any( |
影响局部渲染块 |
| 条件渲染 | HasPendingChanges |
影响局部渲染块 |
| 条件渲染 | _addedRealmRoles.Any( |
影响局部渲染块 |
| 条件渲染 | _removedRealmRoles.Any( |
影响局部渲染块 |
3. 表单字段
| 字段组件 | 绑定 |
|---|---|
| SxSelect | @bind-Value=_selectedClient |
| SxCheckbox | Checked=@IsRealmRoleSelected(role, false) |
| SxCheckbox | Checked=@IsRealmRoleSelected(role, true) |
| SxCheckbox | Checked=@IsClientRoleSelected(role, false) |
| SxCheckbox | Checked=@IsClientRoleSelected(role, true) |
4. 操作按钮
| 外观 | 动作/链接 | 禁用条件 |
|---|---|---|
| ButtonAppearance.Outline | AddSelectedRealmRoles | @(!_selectedAvailableRealmRoles.Any()) |
| ButtonAppearance.Outline | RemoveSelectedRealmRoles | @(!_selectedAssignedRealmRoles.Any()) |
| ButtonAppearance.Outline | AddSelectedClientRoles | @(!_selectedAvailableClientRoles.Any()) |
| ButtonAppearance.Outline | RemoveSelectedClientRoles | @(!_selectedAssignedClientRoles.Any()) |
5. 验证规则
未检测到显式验证标记。
6. 状态与流程
内部状态字段: 未检测到明确状态字段。
7. 公共 API
7.1 Parameters
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
AvailableRealmRoles |
List<AdminRole> |
[] |
7.2 Public Methods
GetRolesUpdate:UserRolesUpdate?
7.3 Events/Callbacks
无回调事件。
8. 典型使用场景 (Use Cases)
8.1 UC-1: 基础渲染
- 组件渲染默认状态
- 关键区域可见
- 无异常
9. 状态不变性测试 (State Invariants)
- 同一参数重复设置不应触发非必要 UI 改变
- 与表单字段无关的操作不应影响字段值
10. 测试检查点
- 条件
!string.IsNullOrEmpty(role.Description下渲染正确 - 条件
!FilteredAvailableRealmRoles.Any(下渲染正确 - 条件
!string.IsNullOrEmpty(role.Description下渲染正确 - 条件
!FilteredAssignedRealmRoles.Any(下渲染正确 - 条件
AvailableClientRoles.Any(下渲染正确 - 条件
!string.IsNullOrEmpty(_selectedClient下渲染正确 - 条件
!string.IsNullOrEmpty(role.Description下渲染正确 - 条件
!FilteredAvailableClientRoles.Any(下渲染正确
11. Fluent UI 对齐
未在官方 Fluent UI Blazor 组件目录中找到直接对应项(以官方 demo/docs 目录为准)。
12. 参考文档摘要
无。
13. 规范合规检查
- 可能存在硬编码样式: 存在 px 硬编码
14. 变更历史
- 2026-02-04: 深度分析填充规范。