DialogStack class

Manages a stack of modal dialogs.

Wraps its child and renders the top-most dialog as a Modal overlay. Provides static methods to push, pop, replace, and clear dialogs from anywhere in the subtree.

The stack handles esc to pop the top dialog automatically.

// Wrap your app or section with DialogStack
DialogStack(child: MyApp())

// Open a dialog from anywhere below
DialogStack.of(context).push(MyDialog());

// Close the top dialog
DialogStack.of(context).pop();
Inheritance
Annotations
  • @Deprecated('Use DialogRoute via Navigator.of(context).showDialog() instead. ' 'Will be removed in a future release.')

Constructors

DialogStack({required Widget child, double backdropOpacity = 0.6, Color? backdropColor, bool dismissible = true, Key? key})

Properties

accessibilityLabel → String?
Optional accessibility label.
no setterinherited
accessibilityRole → String
Optional accessibility role.
no setterinherited
backdropColor → Color?
Color of the backdrop (defaults to theme background).
final
backdropOpacity → double
Opacity of the backdrop behind the top dialog.
final
child → Widget
The content below the dialog stack.
final
children → List<Widget>
Child widgets that receive forwarded messages.
no setterinherited
debugRenderObjectPassthrough → bool
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
degradationSignal → WidgetDegradationSignal
Signal that controls this widget's render budget behavior.
no setterinherited
dismissible → bool
Whether clicking the backdrop dismisses the top dialog.
final
focusable → bool
Whether this widget can receive keyboard focus.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
id → String
Unique identifier for this widget.
no setterinherited
key → Key?
Key for preserving widget identity.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
theme → Theme
Access the current theme.
no setterinherited

Methods

buildCachedView<T>(T builder(), Object? cacheKey) → T
Returns a cached view if the cache key matches.
inherited
createState() → State<StatefulWidget>
Creates the mutable State associated with this widget.
override
handleInit() → Cmd?
Override this instead of init for widget-specific initialization.
inherited
handleIntercept(Msg msg) → (Widget, Cmd?)
Override this to handle messages before they reach children.
inherited
handleUpdate(Msg msg) → (Widget, Cmd?)
Override this to handle messages specific to this widget.
inherited
init() → Cmd?
Called once when the widget is first mounted.
inherited
invalidateCachedView() → void
Clears any cached view for this widget.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldRenderAt(DegradationLevel degradationLevel, {required bool subtreeHasFocusedWidget}) → bool
Whether this widget should participate in the current render when degradationLevel is active.
inherited
toString() → String
A string representation of this object.
inherited
update(Msg msg) → (Model, Cmd?)
Handles messages by forwarding to children then calling handleUpdate.
inherited
view() → Object
Renders the widget to a string or View.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

maybeOf(BuildContext context) → DialogStackState?
Returns the nearest DialogStackState if available.
of(BuildContext context) → DialogStackState
Returns the nearest DialogStackState above context.