Flutter:如何在不更改屏幕的情况下将参数从一个屏幕传递到另一个屏幕

时间:2020-05-17 13:41:37

标签: flutter flutter-navigation

我最近开始使用flutter,目前正在导航中。我想知道是否有一种方法可以将参数从一个小部件传递到另一个小部件(或从一个屏幕传递到另一个屏幕),而不必调用构建器函数并更改屏幕?我看过onGenerateRoute和导航器,但是它们都会导致屏幕变化。是否有办法在navigator.push()期间阻止此更改?

我真正想要的很简单。我想要一个切换按钮,将布尔值传递给小部件,该小部件读取它并将其应用于条件语句。

1 个答案:

答案 0 :(得分:0)

您应该这样做:

            child: RaisedButton(
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => SecondPage(
                      value: true,
                    ),
                  ),
                );
              },
            ),



class SecondPage extends StatelessWidget {
  final bool value;

  const SecondPage({Key key, @required this.value}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container();
  }
}