当我们在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的状态
基础教程推荐
- JS前端广告拦截实现原理解析 2024-04-22
- 基于Vue制作组织架构树组件 2024-04-08
- 关于文字内容过长,导致文本内容超出html 标签宽度的解决方法之自动换行 2023-10-28
- Ajax实现动态加载数据 2023-02-01
- this[] 指的是什么内容 讨论 2023-11-30
- vue离线环境如何安装脚手架vue-cli 2025-01-19
- CSS3的几个标签速记(推荐) 2024-04-07
- 浅谈Vue2和Vue3的数据响应 2023-10-08
- js禁止页面刷新与后退的方法 2024-01-08
- 浅析canvas元素的html尺寸和css尺寸对元素视觉的影响 2024-04-26
