offUntil<T> method
Navigation.pushAndRemoveUntil() shortcut.
Push the given page, and then pop several pages in the stack until
predicate returns true
id is for when you are using nested navigation,
as explained in documentation
Obs: unlike other get methods, this one you need to send a function that returns the widget to the page argument, like this: Get.offUntil(GetPageRoute(page: () => HomePage()), predicate)
predicate can be used like this:
Get.offUntil(page, (route) => (route as GetPageRoute).routeName == '/home')
to pop routes in stack until home,
or also like this:
Get.until((route) => !Get.isDialogOpen()), to make sure the dialog
is closed
Implementation
Future<T?>? offUntil<T>(Route<T> page, RoutePredicate predicate, {int? id}) {
// if (key.currentState.mounted) // add this if appear problems on future with route navigate
// when widget don't mounted
return global(id).currentState?.pushAndRemoveUntil<T>(page, predicate);
}