一、实现底部导航栏切换页面缓存
实现底部导航栏切换页面缓存需要在pubspc.yamal中导入proste_indexed_stack
插件,这个插件可以实现懒加载,比起使用IndexedStack
包裹body
实现,性能更好。
dependencies:
#懒加载的层叠组件
proste_indexed_stack: //不加版本号可获取最新版本
实现底部导航切换页面缓存只需将body
用ProsteIndexedStack
包裹一层既可以,注意ProsteIndexedStack
的children
是IndexedStackChild
类型的,所以中的每一个children
的每一项都需要用IndexedStackChild
包裹
示例:
import 'package:flutter/material.dart';
... //其他需要import的内容省略
class RootPage extends StatefulWidget {
@override
_RootPageState createState() => _RootPageState();
}
class _RootPageState extends State<RootPage> {
//底部导航栏数组
final items = [
BottomNavigationBarItem(
icon: Icon(Icons.home),label: '首页',tooltip: ''
),
BottomNavigationBarItem(
icon: Icon(Icons.music_note),l