我在上方的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'
我使用的方法是否错误,如何使用?

最佳答案

您必须先转换widget:

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

07-27 22:59