我正在使用 Obx 来管理我的状态以构建底部导航栏。
return SafeArea(
child: Scaffold(
bottomNavigationBar: BottomNavBar(),
body: Obx (() =>
_getNewSubPage()
)),
);
我在索引更改时调用 _getNewSubPage()。
Widget _getNewSubPage() {
switch (homeController.currentIndex.value) {
case 3:
return new Container(color: Colors.blue);
case 2:
return new Container(
color: Colors.green[100],
);
case 1:
return new WishlistView();
default:
return new CategoryItemListView();
}
}
代码在初始运行和热重启时似乎一切正常,但是当我热重载 _getNewSubPage() 上的视图时不会改变。我也试过 GetBuilder 但发现了同样的情况。
控制器代码
final currentIndex = 0.obs;
setBottomBarIndex(index) {
print(index);
currentIndex.value = index;
}