#dart #flutter
#dart #флаттер
Вопрос:
У меня есть некоторый код в файле main.dart ниже. Он будет push
new Show()
в show.dart
файле.
main.dart
import 'show.dart';
//....
Navigator.of(context).pop();
Navigator.of(context).push(new MaterialPageRoute(
builder: (BuildContext context) => new Show()));
//...
Future<void> _getSomething() async {
}
//...
и кнопка, которую я создаю, отображается.dart
//...
IconButton(
icon: Icon(
Icons.menu,
color: Colors.white,
size: 28,
),
onPressed: () => print("back to main.dart and call _getSomething()"),
),
Теперь, как я могу вернуться к main.dart
файлу и вызвать _getSomething()
его из show.dart
файла?
Ответ №1:
Вы можете передать параметр (например, a bool
) в onPressed вызове, который затем решит _getSomething()
, следует ли запускать или нет, когда вы переходите к main.dart
.
В этой статье есть раздел под названием «Верни мне некоторые данные», в котором описывается, как передать значение на предыдущий экран. Еще одним преимуществом является то, что вы не добавляете дополнительные страницы в стек, если вы решили использовать Navigator.push()
вызывающий странный поток, когда пользователь нажимает кнопку «Назад».