Флаттер: навигация между 3 страницами

#dart #flutter

#дротик #порхание

Вопрос:

Я хочу иметь следующую структуру для своего проекта:

 import 'loginForm.dart' as LoginForm;
import 'dashboard.dart' as Dashboard;

void main() {
  runApp(MaterialApp(
    title: 'Test',

    initialRoute: '/',
    routes: {

      '/': (context) => LoginForm.LoginForm(),

      '/dashboard': (context) => Dashboard.HomeApp(),
    },
  ));
}`
  

теперь я хочу переключаться между этими страницами. Вот так:

Главная страница -> (автоматически) Вход с -> (после входа) Главная страница -> Панель мониторинга

Обратный путь тоже должен быть возможен. Как я могу это реализовать? Я не хочу, чтобы все виджеты были в одном.файл дротика. Или мой подход неправильный? Есть ли другой (возможно, лучший) способ сделать это?

Ответ №1:

Если я правильно понимаю, это должно сработать. В LoginForm виджете добавьте кнопку (например) с таким действием, как это:

 onPressed: () {Navigator.pushNamed(context, '/dashboard');},
  

Ответ №2:

Это приведет вас к входу в систему

onPressed: () { Navigator.of(context).pushNamed('/');}

Это приведет вас к панели мониторинга, а также предотвратит вход пользователя в систему, когда он или она нажимает на кнопку «Назад»

onPressed: () {Navigator.of(context).pushNamedAndRemoveUntil('', (Route<dynamic> route)=>false);}