在使用底部导航栏 bottomNavigationBar 时,当用户切换页面时,页面会重新加载,而不会保持页面状态。而外面在工作中,时常要求页面状态不发生改变的
在看了学习视频中通过 AutomaticKeepAliveClientMixin 即可实现此功能。
/**
* with是dart的关键字,意思是混入的意思,就是说可以将一个或者
* 多个类的功能添加到自己的类无需继承这些类, 避免多重继承导致的问题。
* 混入AutomaticKeepAliveClientMixin,这是保持状态的关键
* 然后重写wantKeppAlive 的值为true。
*/
class _HomePageState extends State<HomePage> with AutomaticKeepAliveClientMixin {
....
@override
bool get wantKeepAlive => true;
....
}
效果图