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;,就可以了。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

layui怎么隐藏列,该如何操作?加载完表格的操作: tableIns = table.render({ elem: '#tableDemo', url: '/pltTaskInfo/getDataByCondition', toolbar: '#toolbarDemo', cols: [cols], defaultToolbar: ['filter'], height: 'full-80', page: { limit: TableUIObj.onePageRecoeds, limits: [10, 2
Layui在table中使用select,这个要怎么操作呢? 1、穿梭框 Layui从2.5.0版本增加了穿梭框,但项目要求左右两边均是表格,无奈只好使用第三方的穿梭框。 2、左右两边的表列数显示不一样 在原代码的基础上修改,使之支持两表的列定义。 3、未选择行
LayUI Table列的显示与隐藏可以通过CSS样式来控制,但是效果不是很满意。这里我通过修改列hide属性后重载表格来实现个别列的显示与隐藏。 1.单独定义表格形式: let cols1 = [ { type: 'numbers', title: '序号', width: 60, align: 'center' } , { field: 'MerchantNo', tit