【问题标题】:Flutter ScopedModel error " Only static members can be accessed in initializers"Flutter ScopedModel 错误“在初始化程序中只能访问静态成员”
【发布时间】:2020-01-03 06:51:16
【问题描述】:

我想将 ScopedModel 传递到另一个页面。或者在 initState 中调用 ScopedModel 以便我可以使用数据。

  final MainModel model;
  IndexPage(this.model);
  @override
  State<StatefulWidget> createState() {
    return IndexPageState();
  }
}

class IndexPageState extends State<IndexPage> {
  final pages = [
    HomePage(),
    CreatePage(),
    MapPage(widget.model),
  ];

执行此操作时出现此错误:

在初始化器中只能访问静态成员

谢谢!

【问题讨论】:

    标签: flutter scoped-model


    【解决方案1】:

    Martinez,您需要将页面声明移到 initState() 中

    class IndexPageState extends State<IndexPage> {
    
    List<Widget> pages;
    
    @override
    void initState() {  
       pages = [
            HomePage(),
            CreatePage(),
           MapPage(widget.model),
          ];
    }
    

    【讨论】:

    • 排除final这个词或者你正在创建一个局部变量,而不是等待实例变量。
    猜你喜欢
    • 1970-01-01
    • 2020-08-31
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 2020-10-26
    • 2019-01-23
    相关资源
    最近更新 更多