SxDrawer (抽屉)
从屏幕边缘滑出的导航或内容面板。对齐 Microsoft Fluent UI Blazor Drawer (v4.13.2) 的 API 结构,并说明 NextUI 当前实现状态。
使用场景
- 侧边导航与设置面板
- 表单或详情信息补充展示
- 临时任务或快捷操作
约束说明
- 组件始终渲染在 DOM 中,通过
IsOpen 控制可见性。
Width 仅适用于左右抽屉,Height 仅适用于上下抽屉。
PositioningMode 可选择固定在视口或绑定到容器。
行为说明
- 点击遮罩会关闭抽屉并触发
OnDrawerClosed(禁用时除外)。
IsOpen 变化会触发 IsOpenChanged。
API
Parameters (参数)
| 状态 |
参数名 |
类型 |
默认值 |
描述 |
| Implemented |
IsOpen |
bool |
false |
抽屉是否展开(支持双向绑定)。 |
| Implemented |
Position |
DrawerPlacement |
Right |
弹出位置:Left, Right, Top, Bottom。 |
| Implemented |
HeaderText |
string |
"" |
抽屉标题。 |
| Implemented |
ChildContent |
RenderFragment? |
null |
抽屉内容。 |
| Implemented |
Footer |
RenderFragment? |
null |
底部区域内容。 |
| Implemented |
Width |
string? |
"320px" |
抽屉宽度(左右模式)。 |
| Implemented |
Height |
string? |
null |
抽屉高度(上下模式)。 |
| Implemented |
BodyPadding |
string? |
null |
内容区内边距(为空则使用默认样式)。 |
| Implemented |
PositioningMode |
SxDrawerPositioningMode |
Fixed |
定位模式(Fixed/Absolute)。 |
| Implemented |
OverlayMode |
SxDrawerOverlayMode |
Default |
遮罩模式(默认/透明/隐藏)。 |
| Implemented |
Disabled (继承) |
bool |
false |
禁用交互。 |
| Implemented |
Id (继承) |
string? |
null |
组件的物理 Id。 |
| Implemented |
Class (继承) |
string? |
null |
自定义 CSS 类名。 |
| Implemented |
Style (继承) |
string? |
null |
自定义样式。 |
| Implemented |
Title (继承) |
string? |
null |
HTML title 属性。 |
| Implemented |
AdditionalAttributes (继承) |
IEnumerable<KeyValuePair<string, object>>? |
null |
捕获不匹配的 HTML 属性。 |
Events (事件)
| 状态 |
事件名 |
类型 |
描述 |
| Implemented |
IsOpenChanged |
EventCallback<bool> |
展开状态改变时触发。 |
| Implemented |
OnDrawerClosed |
EventCallback |
抽屉完全关闭后触发。 |
| Implemented |
OnDrawerOpened |
EventCallback |
抽屉完全打开后触发。 |
示例
<SxDrawer @bind-IsOpen="_open" HeaderText="设置">
<SxTypography>内容区域</SxTypography>
</SxDrawer>
参考设计 (References)