TabController 回调两次处理

使用 TabController 的 addListener 方法监听,发现每次都会回调两次,对于同步操作还好处理,如果是异步操作就比较难处理了。

通过打印发现 两次的 index 是相同的,然后发现还有一个参数就是 indexIsChanging 结合打印发现 indexIsChangeing 两次 只有一次为false。

所以最终的使用方式为:

复制代码
tabController.addListener(() {
  if(tabController.indexIsChanging) {
    /// TODO: do something 
  }
});
相关推荐
好的佩奇5 小时前
Dart 之方法、操作符与可调用对象
android·flutter·dart
恋猫de小郭5 小时前
Flutter Impeller Vulkan 内存持续上涨,问题没想到是文字阴影
android·前端·flutter
传奇开心果1 天前
【Flutter踩坑排雷】第3课:const 误用坑|const 错误使用引发 UI 异常与性能损耗
android·flutter
行者-全栈开发1 天前
Flutter 插件 device_calendar_plus 开源鸿蒙适配实战:从权限弹窗失灵到循环日程跑通
flutter·跨平台·harmonyos·arkts·日历·适配·开源鸿蒙
恋猫de小郭1 天前
Flutter 开始支持 Jetpack Compose Platform View
android·前端·flutter
SoaringHeart2 天前
Flutter 查缺补漏:@JsonKey 属性全解,让模型层不再被后端字段牵着走
flutter
恋猫de小郭2 天前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter
码点2 天前
二.Flutter 速成第二课:核心概念与第一个自定义页面
flutter
好的佩奇3 天前
蓝牙之通信架构
android·flutter·蓝牙