关于使用索引堆栈在选项卡之间导航以显示相关页面的问题。我这样做是为了保持页面的滚动/状态。这很好用。我可以通过点击选项卡来更改当前显示的页面,并且还可以在每个页面内导航(每个页面都包装在自己的Navigator中)。下面是呈现页面的代码。
Widget build(BuildContext context) {
return IndexedStack(
index: widget.selectedIndex,
children: List.generate(widget._size, (index) {
return _buildNavigator(index);
}));
我的问题是IndexedStack一次性构建所有页面。在我的某些页面中,我想从API加载数据,我希望在小部件首次构建时执行,并且仅当页面当前可见时执行。 有没有办法这样做? 在我的当前实现中,所有小部件都同时构建,因此即使对于当前未绘制的页面,也会调用所有API调用。
不确定我是否遗漏了什么,或者有更好的实现底部导航栏的方法。顺便说一句,我还使用Provider进行状态管理。