Flutter 如何将参数从一个选项卡传递到另一个选项卡?
我的应用程序有两个选项卡。一个包含章节,第二个选项卡包含课程。第二个选项卡上的课程数量是动态的,取决于它是从哪个章节构建的。我可以使用DefaultTabController.of(context.animateTo)(1)Flutter 如何将参数从一个选项卡传递到另一个选项卡?,flutter,dart,Flutter,Dart,我的应用程序有两个选项卡。一个包含章节,第二个选项卡包含课程。第二个选项卡上的课程数量是动态的,取决于它是从哪个章节构建的。我可以使用DefaultTabController.of(context.animateTo)(1) 但是如何将章节索引传递给第二个选项卡,就像Navigator.push中的参数一样?一个可能的解决方案可能会随包而来。如果您不需要它,请不要将其放在小部件树的顶部,这样可以避免潜在的无用重建 可能您想这样做: class Data { String something;
但是如何将章节索引传递给第二个选项卡,就像Navigator.push中的参数一样?一个可能的解决方案可能会随包而来。如果您不需要它,请不要将其放在小部件树的顶部,这样可以避免潜在的无用重建 可能您想这样做:
class Data {
String something;
}
然后在小部件树的某个点上,在带有选项卡的页面上方,使用:
Provider(
create: (_) => Data(),
child: YourWidgetWithTabs()
)
Childs将能够调用Provider.of(context)
来获取数据。通常最好使用Consumer,这样可以更好地控制重建,从而提高性能
您将装箱一个适当的数据类(不像我的,它只是给出了想法)
一般的要点是在树的顶部有一个“数据保持器”,用于读/写数据。如果您还需要侦听对数据源所做的更改,请使用ChangeNotifierProvider
一个可能的解决方案可能会随软件包一起到达。如果您不需要它,请不要将其放在小部件树的顶部,这样可以避免潜在的无用重建
可能您想这样做:
class Data {
String something;
}
然后在小部件树的某个点上,在带有选项卡的页面上方,使用:
Provider(
create: (_) => Data(),
child: YourWidgetWithTabs()
)
Childs将能够调用Provider.of(context)
来获取数据。通常最好使用Consumer,这样可以更好地控制重建,从而提高性能
您将装箱一个适当的数据类(不像我的,它只是给出了想法)
一般的要点是在树的顶部有一个“数据保持器”,用于读/写数据。如果您还需要侦听对数据源所做的更改,请使用ChangeNotifierProvider
理想情况下,您可以使用状态管理解决方案,如ScopedModel
,以便在整个应用程序中共享数据。理想情况下,您可以使用状态管理解决方案,如ScopedModel
,这使您可以在应用程序中共享数据。