跳到正文

Dialog

窗口内模态框,支持焦点约束、关闭操作和精确的过渡结束时机。

正在加载交互演示…

#导入

从 quickgui 导入 Dialog。

use quickgui::*;

#用法

let dialog = Dialog::new("save", open);
dialog.root().child(dialog.title_with(text("Save changes")))

#结构

  • Dialog::root
  • Dialog::trigger
  • Dialog::portal
  • Dialog::backdrop
  • Dialog::viewport
  • Dialog::popup
  • Dialog::title
  • Dialog::description
  • Dialog::close

#API 参考

展开条目查看说明和完整签名。短横线表示声明中未记录默认值。

pub fn new(id: impl Into<ElementId>, open: bool) -> Self

Declare an ordinary modal dialog.

alertpub fn alert(id: impl Into<ElementId>, open: bool) -> Self—

Declare a consequential alert dialog. Escape remains enabled, while a backdrop press is blocked without dismissing by default.

pub fn alert(id: impl Into<ElementId>, open: bool) -> Self
查看源码
with_kindpub fn with_kind(id: impl Into<ElementId>, open: bool, kind: DialogKind) -> Self—

Configures with kind for this part.

pub fn with_kind(id: impl Into<ElementId>, open: bool, kind: DialogKind) -> Self
查看源码
is_openpub const fn is_open(self) -> bool—

Configures is open for this part.

pub const fn is_open(self) -> bool
查看源码
kindpub const fn kind(self) -> DialogKind—

Configures kind for this part.

pub const fn kind(self) -> DialogKind
查看源码
initial_focuspub fn initial_focus(mut self, focus: impl Into<ElementId>) -> Self—

Prefer one mounted descendant when this dialog opens. Without an explicit target, the focus trap chooses its first enabled Tab stop and falls back to the popover root when no interactive descendant exists.

pub fn initial_focus(mut self, focus: impl Into<ElementId>) -> Self
查看源码
restore_focus_topub fn restore_focus_to(mut self, focus: impl Into<ElementId>) -> Self—

Restore focus to one stable control after every dismissal path.

pub fn restore_focus_to(mut self, focus: impl Into<ElementId>) -> Self
查看源码
dismiss_on_escapepub const fn dismiss_on_escape(mut self, dismiss: bool) -> Self—

Configures dismiss on escape for this part.

pub const fn dismiss_on_escape(mut self, dismiss: bool) -> Self
查看源码
dismiss_on_backdroppub const fn dismiss_on_backdrop(mut self, dismiss: bool) -> Self—

Configures dismiss on backdrop for this part.

pub const fn dismiss_on_backdrop(mut self, dismiss: bool) -> Self
查看源码
root_idpub fn root_id(self) -> ElementId—

Configures root id for this part.

pub fn root_id(self) -> ElementId
查看源码
backdrop_idpub fn backdrop_id(self) -> ElementId—

Configures backdrop id for this part.

pub fn backdrop_id(self) -> ElementId
查看源码
popover_idpub fn popover_id(self) -> ElementId—

Configures popover id for this part.

pub fn popover_id(self) -> ElementId
查看源码
title_idpub fn title_id(self) -> ElementId—

Configures title id for this part.

pub fn title_id(self) -> ElementId
查看源码
description_idpub fn description_id(self) -> ElementId—

Configures description id for this part.

pub fn description_id(self) -> ElementId
查看源码
close_idpub fn close_id(self) -> ElementId—

Configures close id for this part.

pub fn close_id(self) -> ElementId
查看源码
viewport_idpub fn viewport_id(self) -> ElementId—

Stable identity of the scrolling viewport between the backdrop and the popup.

pub fn viewport_id(self) -> ElementId
查看源码
popover_focuspub fn popover_focus(self) -> FocusHandle—

Configures popover focus for this part.

pub fn popover_focus(self) -> FocusHandle
查看源码
focus_initialpub fn focus_initial(self, cx: &mut EventContext)—

Request the declared initial focus in the same event that mounts the dialog.

pub fn focus_initial(self, cx: &mut EventContext)
查看源码
focus_restorepub fn focus_restore(self, cx: &mut EventContext)—

Restore the declared focus after an explicit close action. Escape and backdrop dismissal already use the same retained target automatically.

pub fn focus_restore(self, cx: &mut EventContext)
查看源码

Dialog::trigger_with

查看源码
pub fn trigger_with(self, id: impl Into<ElementId>, trigger: Element) -> Element

Decorate an application-owned trigger without adding appearance.

Dialog::trigger

查看源码
pub fn trigger(self, id: impl Into<ElementId>) -> Element

Create the unstyled trigger part. Use [`Self::trigger_with`] to supply an existing element.

Dialog::root_with

查看源码
pub fn root_with(self, root: Element) -> Element

Decorate the full-window portal and active modal focus boundary.

Dialog::root

查看源码
pub fn root(self) -> Element

Create the unstyled root part. Use [`Self::root_with`] to supply an existing element.

Dialog::backdrop_with

查看源码
pub fn backdrop_with(self, backdrop: Element) -> Element

Decorate the caller-owned visual backdrop.

Dialog::backdrop

查看源码
pub fn backdrop(self) -> Element

Create the unstyled backdrop part. Use [`Self::backdrop_with`] to supply an existing element.

Dialog::popup_with

查看源码
pub fn popup_with(self, popover: Element) -> Element

Decorate the caller-owned modal popover. The popover is a negative-Tab-index focus fallback. Enabled descendant Tab stops are chosen first when the enclosing trap mounts. Title and description relationships project only when the corresponding parts are mounted, so incomplete compositions never emit dangling native node references.

Dialog::popup

查看源码
pub fn popup(self) -> Element

Create the unstyled popup part. Use [`Self::popup_with`] to supply an existing element.

Dialog::viewport_with

查看源码
pub fn viewport_with(self, viewport: Element) -> Element

Decorate the caller-owned scrolling viewport the popup sits inside, Base UI's Viewport. A dialog taller than the window must scroll as one surface rather than clipping its own content, and the scroll must live outside the popup so the popup keeps its own padding and shadow. QuickGUI supplies the stable identity and the scroll container; size, alignment, and padding stay application-owned.

Dialog::viewport

查看源码
pub fn viewport(self) -> Element

Create the unstyled viewport part. Use [`Self::viewport_with`] to supply an existing element.

Dialog::title_with

查看源码
pub fn title_with(self, title: Element) -> Element

Assign the stable visible label target used by the popover.

Dialog::title

查看源码
pub fn title(self) -> Element

Create the unstyled title part. Use [`Self::title_with`] to supply an existing element.

Dialog::description_with

查看源码
pub fn description_with(self, description: Element) -> Element

Assign the stable visible description target used by the popover.

Dialog::description

查看源码
pub fn description(self) -> Element

Create the unstyled description part. Use [`Self::description_with`] to supply an existing element.

Dialog::close_with

查看源码
pub fn close_with(self, label: impl Into<std::sync::Arc<str>>, close: Element) -> Element

Decorate a caller-owned close control with button behavior and no visual defaults.

Dialog::close

查看源码
pub fn close(self, label: impl Into<std::sync::Arc<str>>) -> Element

Create the unstyled close part. Use [`Self::close_with`] to supply an existing element.