【问题标题】:How-to access object in a stateful widget passed from MaterialPageRoute如何访问从 MaterialPageRoute 传递的有状态小部件中的对象
【发布时间】:2018-05-26 12:51:56
【问题描述】:

我的 Flutter 应用中有一个有状态小部件作为详细信息页面:

class MyTestPage extends StatefulWidget {
    final Foo foo;
    MyTestPage({
      Key key,
      @required this.foo, }): super(key : key);
    @override
    MyTestPageState createState() => MyTestPageState();
}

class MyTestPageState extends State<MyTestPage> {
    Foo foo;
    @override
    void initState(){...}
    @override
    Widget build(BuildContext context) {...}
}

我正在将一个列表项从我的主页小部件传递给MyTestPage。如何从 MyTestPageState 访问该变量 (foo)?

我的主页小部件包含一个列表,单击ListTile 会将您带到该ListTile 的详细信息小部件。我正在使用StatefulWidget,因为我需要在详细信息屏幕上对 Firebase 数据库运行查询,但我不知道还有什么方法可以做到这一点。

【问题讨论】:

    标签: android dart flutter


    【解决方案1】:

    State 子类中,使用widget 来引用StatefulWidget

    class MyTestPage extends StatefulWidget {
      final Foo foo;
    
      MyTestPage({
        Key key,
        this.foo,
      }) : super(key: key);
    
      @override
      MyTestPageState createState() => MyTestPageState();
    }
    
    class MyTestPageState extends State<MyTestPage> {
      @override
      void initState() {
        print(widget.foo); // this is the Foo in MyTestPage
      }
    
      @override
      Widget build(BuildContext context) {}
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-19
      • 2019-08-03
      • 2020-04-26
      • 1970-01-01
      • 2018-03-14
      • 2021-08-29
      • 2021-06-29
      • 1970-01-01
      相关资源
      最近更新 更多