Właśnie zaczynam nauczyć trzepotanie, stanęł w obliczu małego problemu i mieć nadzieję na pomoc.

Navigator.popAndPushNamed(context, HomePage.routeName)

Mam 3 strony: A, B i C. Wszystkie te strony są dostępne w menu rozwijanej szuflady. Ale jeśli jestem na stronie B, otwórz moje menu i ponownie wybierz tę samą stronę, otwiera się ponownie na starej stronie B.

Nie podoba mi się tego zachowania i chciałbym zablokować możliwość otwierania strony, jeśli jest aktywna. Jak mogę to zrobić?

1
Alexander Schurf 18 październik 2020, 14:53

1 odpowiedź

Najlepsza odpowiedź

Oto proste rozwiązanie. Możesz zidentyfikować zmienną currentPage i sprawdzić przed taką nawigacją:

  onTap: currentPage == HomePage.routeName 
         ? null 
         : () { 
           currentPage == HomePage.routeName; 
           Navigator.popAndPushNamed(context, HomePage.routeName);
         }
 
1
Akif 18 październik 2020, 12:34