【发布时间】:2019-07-02 06:25:54
【问题描述】:
所以我最近开始了我在flutter中的第一个项目,我完成了完整的UI布局,现在正在做前端的整个逻辑部分,我的大部分onTap行为都在工作,但是我遇到了以下情况不知道怎么解决。
我有四个包含所有 UI 的文件。
widget0.dart
小部件1.dart
widget2.dart
这些文件每个都包含由 BottomNavigationBar 构建的 StatefullWidget。
main.dart
该文件包含我的 main() =>runApp 类和函数。我的 MaterialApp 包含一个带有 BottomNavigationBar 的脚手架。这按预期工作,我能够在 3 个小部件之间切换。
但是,在我的 widget0.dart 文件中,我有一个按钮,它应该将我的 main.dart 文件中的 BottomNavigationBar 的索引从 0 更改为 2(从 widget2.dart 构建小部件)。
我试图将保存导航栏索引的值封装在一个单独的静态类中,所以我可以在按钮 onTap() 中 setState((){ StaticClass.index = 2}),但这不起作用,实际上冻结了导航bar 到它的初始值。
stackoverflow 上某处的答案建议每个小部件都应该有自己的 Scaffold 和导航栏,但我相信一定有更清洁的方式。
那么实现我的目标的最 Fluttery 方式是什么?
提前致谢。
【问题讨论】:
标签: user-interface dart flutter scaffold