【问题标题】:Is there a way to use an InheritedWidget in multiple PageRoutes in Flutter?有没有办法在 Flutter 的多个 PageRoutes 中使用 InheritedWidget?
【发布时间】:2019-01-25 11:41:35
【问题描述】:

我的应用程序根目录中有一个InheritedWidget,基本上位于我的第一个Scaffold 的第一个构建函数的顶部。我可以使用.of(context) 函数从第一页的所有子小部件中引用小部件。如果我在Navigator 堆栈上推送另一个页面,InheritedWidget.of() 调用将失败,正如我认为的那样。有没有办法共享对这个小部件的访问?我试图避免不必要地将小部件传递到树下。 ScopedModel 也有同样的限制。我正在考虑将上下文变量沿树向下传递,但这听起来不对,也不能解决问题。

【问题讨论】:

标签: dart flutter


【解决方案1】:

你应该用它包装你的根小部件,例如你的MaterialApp

MyInheritedWidget(
      child: MaterialApp(
        home: home))

【讨论】:

  • 它应该给我相同的结果,因为所有小部件都是从这个主脚手架下调用的。这是我返回的第一个小部件
  • 这似乎已经解决了!上次我尝试了它并没有用,但也许有些不同,谢谢。
  • 当你用它包装你的材料应用程序时,它会允许从导航器堆栈访问继承的小部件,所以它会解决你的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-27
相关资源
最近更新 更多