- 底部菜单切换默认直接切换Page的话会重新加载页面,这样有的页面的实例对象会加载多次,或者页面的数据不需要很精确的实时性,页面切换不刷新可以更快的切换。这样我们就需要点击切换菜单的时候不需要刷新页面。不刷新可通过两种方式实现,
原始切换如下内容
这种方式不会保存当前的切换状态
class _MyHomePageState extends State<AppPage> {
//初始化的时候首先显示HomePage();
int _pageIndex = 0;
//点击切换底部菜单的时候执行,修改当前需要切换页面的index,对应_widgetOptions 中要切换的页面所在的索引
void _onItemTapped(int index) {
setState(() {
this._pageIndex = index;
});
}
final _widgetOptions = [HomePage(), CompanyPage(), WorkPage(), MessagePage(), MyPage()];
Widget build(

在Flutter中,为了提高底部菜单切换的效率,有时需要在切换时不刷新页面。本文介绍了两种方法来实现这一需求:一种是利用IndexedStack在初始化时加载所有页面,但可能导致资源消耗;另一种是通过PageStorageKey自定义页面刷新行为,适用于部分页面需要刷新的情况。
最低0.47元/天 解锁文章
1317

被折叠的 条评论
为什么被折叠?



