present method
Inserts child in a snackbar host, replacing any current bar.
When duration is null, the bar stays until dismiss, close, action, or
Escape.
Implementation
void present(
BuildContext context, {
required Widget child,
Duration? duration,
}) {
if (_disposed) {
return;
}
final OverlayState overlay = Overlay.of(context, rootOverlay: true);
dismiss(immediate: true);
late final OverlayEntry entry;
entry = OverlayEntry(
builder: (BuildContext context) {
return M3ESnackbarHost(
duration: duration,
entry: entry,
controller: this,
child: child,
);
},
);
_entry = entry;
overlay.insert(entry);
_notify();
}