logo
为了能更好地了解您的商业使用需求,请参与 Ant Design Blazor 商业应用调查,一起建设商业应用社区,为企业系统研发赋能!

Drawer抽屉

屏幕边缘滑出的浮层面板。

何时使用

抽屉从父窗体边缘滑入,覆盖住部分父窗体内容。用户在抽屉内操作时不必离开当前任务,操作完成后,可以平滑地回到到原任务。

  • 当需要一个附加的面板来控制父窗体内容,这个面板在需要时呼出。比如,控制界面展示样式,往界面中添加内容。
  • 当需要在当前任务流中插入临时任务,创建或预览附加内容。比如展示协议条款,创建子对象。

Examples

基础抽屉,点击触发按钮抽屉从右滑出,点击遮罩区关闭

expand code expand code

在抽屉中使用表单。

expand code expand code

需要快速预览对象概要时使用,点击遮罩区关闭。

expand code expand code

渲染在当前 dom 里。自定义容器。

expand code expand code

Drawer 的事件处理

对于 Drawer 组件:

  1. OnOpen: 在打开前执行,并可以通过参数的 Cancel 属性取消打开操作。
  2. OnClose: 在关闭前执行,你需要通过它来控制 Drawer 组件的 Visible 属性。

对于 DrawerService:

  1. DrawerRef.OnOpen: 在打开前执行,内部是在 Drawe.OnOpen 事件中调用该方法
  2. DrawerRef.OnClosing: 在关闭前执行
  3. DrawerRef.OnClosed: 在关闭后执行。
expand code expand code

自定义位置,点击触发按钮抽屉从相应的位置滑出,点击遮罩区关闭

expand code expand code

设置X或Y方向偏移。

expand code expand code

在抽屉内打开新的抽屉,用以解决多分支任务的复杂状况。

expand code expand code

Drawer 的 service 用法,示例中演示了用户自定义模板、自定义component。

模板代码:DrawerTemplateDemo.razor

@namespace AntDesign
@inherits FeedbackComponent<string, string>

<div>
    value: <Input @bind-Value="value" />
    <br/>
    <br/>
    <Button Type="primary" OnClick="OnClose">Confirm</Button>
</div>

@code{

    string value;

    protected override void OnInitialized()
    {
        value = base.Options;
        base.OnInitialized();
    }

    async void OnClose()
    {
        DrawerRef<string> drawerRef = base.FeedbackRef as DrawerRef<string>;
        await drawerRef!.CloseAsync(value);
    }
}
expand code expand code

在Drawer中使用具有下拉或弹出功能的组件。

expand code expand code

Drawer API#

属性 描述 类型 默认值
ChildContent 属性Drawer 的内容。 RenderFragment --
Content 属性Drawer 的内容。

如果 AntDesign.Drawer.Content 是字符串,则它将呈现为 HTML。

OneOf<RenderFragment, String> --
Closable 属性关闭 (x) 按钮是否在抽屉对话框的右上角可见。 Boolean true
MaskClosable 属性单击遮罩(抽屉外的区域)以关闭或不关闭抽屉。 Boolean true
Mask 属性是否显示遮罩。 Boolean true
MaskStyle 属性抽屉遮罩元素的样式。 String --
Keyboard 属性是否支持键盘esc关闭 Boolean true
Title 属性抽屉的标题。 OneOf<RenderFragment, String> --
Placement 属性Drawer的位置,选项可以是left, top, right, bottom String right
BodyStyle 属性模态主体元素的主体样式。比如高度,填充等。 String --
HeaderStyle 属性模式标题元素的标题样式。比如高度,填充等。 String --
WrapClassName 属性抽屉对话框容器的类名。 String --
Width 属性抽屉对话框的宽度,仅当放置为“左”或“右”时。 String 256
Height 属性抽屉对话框的高度,仅当放置为“顶部”或“底部”时。 String 256
ZIndex 属性抽屉的 z-index。 Int32 1000
OffsetX 属性X 坐标偏移量(px),仅当placement 为'left' 或'right' 时。 Int32 0
OffsetY 属性Y坐标偏移量(px),仅当placement为'top'或'bottom'时。 Int32 0
Visible 属性抽屉对话框是否可见。 Boolean false
VisibleChanged 属性更改了 Visible 上的 EventCallback 触发器。 EventCallback<Boolean> --
OnOpen 属性指定将在抽屉显示之前调用的回调 EventCallback --
OnClose 属性指定当用户单击遮罩、关闭按钮或取消按钮时将调用的回调。 EventCallback --
Handler 属性 RenderFragment --
Id 属性组件 HTML 的 ID String Uniquely Generated ID
Class 属性为 DOM 元素指定一个或多个类名。 String --
Style 属性指定 DOM 元素的内联样式。 String --
RefBack 属性一个 ForwardRef 实例。您可以使用 AntDesign.ForwardRef.Current 获取对内部 DOM 的引用。 ForwardRef --

DrawerService API#

方法签名 返回类型 描述
CreateAsync(DrawerOptions options) Task<DrawerRef> 创建并打开一个没有结果的简单抽屉
CreateAsync(DrawerOptions config, TComponentOptions options) Task<DrawerRef<TResult>> 使用模板创建并打开抽屉
UpdateAsync(DrawerRef drawerRef) Task 更新抽屉
CreateDialogAsync(DrawerOptions config, TComponentOptions options) Task<TResult> 创建并打开抽屉
CreateDialogAsync(TComponentOptions options, Boolean closable, Boolean maskClosable, String title, String width, Boolean mask, String placement) Task<TResult>

DrawerOptions API#

属性 描述 类型 默认值
Content 抽屉正文内容。 OneOf<RenderFragment, String> --
ChildContent RenderFragment --
Closable 关闭 (x) 按钮是否在抽屉对话框的右上角可见。 Boolean true
MaskClosable 单击遮罩(抽屉外的区域)以关闭或不关闭抽屉。 Boolean true
Mask 是否显示遮罩。 Boolean true
Keyboard 是否支持键盘esc关闭 Boolean true
Title 抽屉的标题。 OneOf<RenderFragment, String> --
Placement 抽屉的位置 - 可能的值:“left”、“right”、“top”、“bottom” String right
MaskStyle 抽屉遮罩元素的样式。 String --
BodyStyle 抽屉主体元素的主体样式。比如高度,填充等。 String --
HeaderStyle 抽屉标题元素的标题样式。比如高度,填充等。 String --
WrapClassName 抽屉对话框容器的类名。 String --
Width 抽屉对话框的宽度。 String 256
Height 抽屉对话框的高度,仅当放置为“顶部”或“底部”时。 String 256
ZIndex 抽屉的 z-index。 Int32 1000
OffsetX X 坐标偏移量(px),仅当placement 为'left' 或'right' 时。 Int32 0
OffsetY Y坐标偏移量(px),仅当placement为'top'或'bottom'时。 Int32 0
Visible 抽屉是否可见 Boolean false
Alert警告提示 Message全局提示
文档已更新,请点击 此处 更新。
A new version of this app is available. Click here to update.