沃梦达 / IT编程 / 前端开发 / 正文

Flutter Tab 切换时保留tab的状态

当我们在Flutter开发中,使用到Tabbar 切换页面时,我们会发现一个现象, 就是我从 tab1 = tab2 = tab3 ,控制台打印的日志,会发现 分别走了 tab1页面 tab2页面 tab3 页面的 初始化状态函数 initState() ,这是正常的操作; 但是如果我再从 tab 3 = tab2 = tab1,这时

当我们在Flutter开发中,使用到Tabbar 切换页面时,我们会发现一个现象,
就是我从 tab1 => tab2 = > tab3 ,控制台打印的日志,会发现 分别走了 tab1页面 tab2页面 tab3 页面的 初始化状态函数 initState(),这是正常的操作;
但是如果我再从 tab 3 => tab2 => tab1,这时我们发现, 同样的也走了 tab2,1的initState() 函数,也就是说** initState()** 会被重复调用, 这时,我们就需要切换tab时记录tab 页面的状态,避免initState()函数被重复调用。

解决方法:其实很简单,我们只需要在tab 页面
添加AutomaticKeepAliveClientMixin,并实现对应的方法bool get wantKeepAlive => true;,就可以了。

本文标题为:Flutter Tab 切换时保留tab的状态