Ошибка Flutter ScopedModel В инициализаторах можно получить доступ только к статическим членам

Я хочу передать 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),
  ];

Когда я это делаю, у меня появляется такая ошибка:

В инициализаторах можно получить доступ только к статическим членам

Спасибо!


person R. Martinez    schedule 30.08.2019    source источник


Ответы (1)


Мартинес, вам нужно переместить объявление ваших страниц внутри initState ()

class IndexPageState extends State<IndexPage> {

List<Widget> pages;

@override
void initState() {  
   pages = [
        HomePage(),
        CreatePage(),
       MapPage(widget.model),
      ];
}
person digitaljoni    schedule 30.08.2019
comment
Исключите слово final, или вы создаете локальную переменную, а не ждете переменной экземпляра. - person Richard Heap; 30.08.2019