🕹️

【Flutter】ButtonやダイアログをPushした際、まとめて閉じたり、戻る方法

2022/03/31に公開約400字

やりたいこと

ダイアログやボタン閉じたり、戻ったりするのに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

ログインするとコメントできます