Использование ancestorInheritedElementForWidgetOfExactType во флаттере - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть объект чата в InheritedWidget выше для корневого виджета моего приложения.Я хочу получить доступ к этому объекту в initState, чтобы установить начальное состояние дочернего виджета.У меня следующий код:

void initState() {
  super.initState();
  final inheritedWidget = context.ancestorInheritedElementForWidgetOfExactType(MyInheritedWidget).widget;

  inheritedWidget.chat.someFunction();
}

Я получаю сообщение об ошибке: "The getter 'chat' isn't defined for the class 'InheritedWidget'

Я неправильно использую метод, как вы его используете?

1 Ответ

0 голосов
/ 02 февраля 2019

Сначала нужно разыграть widget:

final inheritedWidget = context.ancestorInheritedElementForWidgetOfExactType(MyInheritedWidget).widget as MyInheritedWidget;
...