🕹️
【Flutter】ButtonやダイアログをPushした際、まとめて閉じたり、戻る方法
やりたいこと
ダイアログやボタン閉じたり、戻ったりするのにNavigator.of(context).pop()を皆さん使用すると思います。
ですがNavigator.of(context).pop()だと、複数押した際に一つの前の画面までしか戻ってくれません。 どうしたものやら・・・
私の考え、Navigator.of(context).pop()を2回書けば解決すると言うこと。
Navigator.of(context).pop(); // ダイアログを閉じる
Navigator.of(context).pop(); // pushした画面に戻る
ですが上記の様な書き方ですと、見栄えが悪いですよね・・・
解決策
Navigator.of(context).popUntil((route) => route.isFirst);
route.isFirst その名の通りですね、今回で言うボタンを押す前まで戻ると言うこと。
Discussion