Flutter Navigator получает данные с замененного маршрута - PullRequest
0 голосов
/ 12 апреля 2020

я пытаюсь решить проблему, которую получил, когда меня ждут данные навигатора .pu sh данные нулевые

enter image description here

await Navigator.pushNamed(context, UdaLogSelector.id); //HomeScreen

Navigator.PushNamedReplacement(context, NewLogScreen.id); //EntryyScreen

Navigator.pop(context, 'Log'); //LogEntryScreen

, когда я заменяю экран SelectEntry на Pu sh и заменяю ожидающее прослушивание на домашнем экране, запускается, и оно становится пустым, потому что мне нужны данные, которые отправляются в Navigator.pop на экране LogEntry,

Каков правильный способ или замена экрана и возможность отправки пакета данных на оригинальный экран в стеке?

Я могу вернуться на главный экран, но я не могу получить пакет данных который был послан в методе Pop, мне нужны эти данные для запуска закусочной

Обновленный код

//HomeScreen
                      RawMaterialButton(
                        onPressed: () async {
                          final data = await Navigator.pushNamed(
                                  context, UdaLogSelector.id)
                          print(data);
                          if (data != null) {
                          }

//UdaSelectorScreen
                GestureDetector(
                onTap: () {
                  Navigator.popAndPushNamed(context, NewLogScreen.id);
                },
                child: Text(
                  'Enter Log',
                  textAlign: TextAlign.center,
                ),
              ),
              GestureDetector(
                onTap: () {
                  Navigator.popAndPushNamed(context, UdaScreen.id);
                },
                child: Text(
                  'Enter Uda',
                  textAlign: TextAlign.center,
                ),
              )

//NewLogScreen
Navigator.pop(context, 'Log');

//UdaSreen
Navigator.pop(context, 'Uda'); 

...