我正在调用of
的{{1}}函数,但是如上所示,当我的窗口小部件位于树的顶部时,我的函数返回null。呼叫来自推送到导航器堆栈的页面,而不是该页面。有人知道为什么吗?我的InheritedWidget
代码如下。
InheritedWidget
答案 0 :(得分:1)
我通过将传递给我的MaterialPageRoute的页面包装在InheritedWidget中解决了该问题。我假设这棵树停在页面路线上并且不会到达更高的位置,尽管我不确定100%。
答案 1 :(得分:0)
InheritedWidget可以继承,即使它是MaterialApp / WidgetsApp / CupertinoApp或路由的父级。
对于其他有此问题的人,更可能的解释是您已使用不同的大小写形式导入了InheritedWidget。即,在生成它的位置,您可能已将其导入为import 'MyInheritedWidget.dart'
,而在尝试检索它的位置,您已将其导入为import 'myinheritedwidget.dart'
。
这不会在任何一个文件中引起错误(至少在Windows中),但不会匹配并返回null。