Flutter Navigation со значениями между разными экранами

Буду очень признателен, если кто-нибудь сможет объяснить, как решить следующую проблему:

У меня есть экран с 2 полями, которые перенаправляют меня на 2 разные страницы. На каждой из этих страниц у меня есть текстовое поле, которое использует контроллер для ввода текста в поле на предыдущей странице.

Однако у меня нет решения для этого, потому что, когда я работаю с Navigator.push, одно поле всегда пусто. Если я работаю с Navigator.pop, я не могу передавать какие-либо данные (можно?).

Есть ли возможность использовать Navigator.pop и передавать какие-то данные или что-то в этом роде?


person marcel1892    schedule 09.02.2021    source источник
comment
Просмотрите как спросить, в частности разделы на минимальный воспроизводимый код.   -  person anurag    schedule 09.02.2021


Ответы (1)


Вы можете получить результаты со второго экрана с ожиданием при нажатии

вот пример:

вы называете это на первой странице

final result = await Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => SecondPage(),
    )
  );

и На втором экране, когда вы вызываете pop, передайте ему данные, например:

Navigator.pop(context, controller.text);

то на вашей первой странице у вас есть текст контроллера в переменной результата

person DNS    schedule 09.02.2021
comment
У меня получилось, еще раз спасибо! - person marcel1892; 09.02.2021
comment
рад помочь :) - person DNS; 10.02.2021