【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 その名の通りですね、今回で言うボタンを押す前まで戻ると言うこと。