Пожалуйста, примите мое объяснение ниже. У меня есть страница с 2 элементами BottomNavigationBar:
Page1(),
Page2(),
В Page1
есть кнопка, которая переходит на другую страницу с именем PostSomethingPage
:
// in Page1
onPressed: () => Navigator.push(
context, MaterialPageRoute<bool>(builder:
(context) => PostSomethingPage()))
.then((isPostSuccess) => isPostSuccess
? print('is Success!') : print('Failed!'));
Вы можете видеть, что Page1
ожидает возвращаемое логическое значение от PostSomethingPage
и будет печатать на его основе.
Вот код в PostSomethingPage
, который возвращает результат:
// in PostSomethingPage
Navigator.pop(context, isSuccess);
Затем, когда мы вернулся к Page1
, значение из обратного вызова было получено, и оператор печати был выполнен соответствующим образом, на данный момент все выглядит нормально.
Но затем возникает проблема, когда я перехожу к Page2
и назад к Page1
Примечание: на данный момент я был от Page1
=> PostSomethingPage
=> обратно к Page1
с результатом, после этого затем go к Page2
Потому что, когда я снова вернулся к Page1
, оператор печати будет снова напечатан на основе ПОСЛЕДНЕГО известного значения. Но я хочу, чтобы значение обратного вызова было пустым вместо true
или false