SxMenuButton UI 设计规范

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

1. 组件概述

  • 组件包含 6 个参数,0 个回调,0 个公开方法。
  • 内部组合组件:SxButton, SxMenu。

2. 组件模式

模式 条件 说明
条件渲染 Trigger != null 影响局部渲染块
条件渲染 string.IsNullOrWhiteSpace(TriggerText 影响局部渲染块

3. 表单字段

字段组件 绑定
- -

4. 操作按钮

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

5. 验证规则

未检测到显式验证标记。

6. 状态与流程

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

7. 公共 API

7.1 Parameters

参数 类型 默认值 说明
TriggerAppearance ButtonAppearance ButtonAppearance.Neutral
TriggerShape ButtonShape ButtonShape.Rounded
TriggerSize ControlSize ControlSize.Medium
Placement MenuPlacement MenuPlacement.Auto
Alignment MenuAlignment MenuAlignment.Start
UseMenuService bool true

7.2 Public Methods

无公开方法。

7.3 Events/Callbacks

无回调事件。

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

8.1 UC-1: 基础渲染

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

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

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

10. 测试检查点

  • 条件 Trigger != null 下渲染正确
  • 条件 string.IsNullOrWhiteSpace(TriggerText 下渲染正确

11. Fluent UI 对齐

对应 Fluent UI Blazor 组件:FluentMenuButton 源码:src/Core/Components/MenuButton/FluentMenuButton.razor.cs 对齐要点:

  • ButtonAppearance 控制按钮风格,ItemsChildContent 构建菜单项。
  • OnMenuChanged 触发后自动关闭菜单;UseMenuService 影响菜单构建方式。 关键参数/事件:
  • ButtonAppearanceItemsButtonContentUseMenuServiceOnMenuChanged。 差异与扩展:
  • SxMenuButton 若自定义按钮内容,应保留 ButtonContent 优先级规则。

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/SxMenuButton.md: SxMenuButton (菜单按钮) - Implemented

13. 规范合规检查

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

14. 变更历史

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