【问题标题】:Flutter: How do I detect tab onclick when the current tab is selected?Flutter:选择当前选项卡时如何检测选项卡 onclick?
【发布时间】:2021-11-10 06:35:18
【问题描述】:

虽然我可以通过以下方式检测标签更改:

controller.addListener((){
   print('my index is'+ controller.index.toString());
});

如何检测是否点击了同一个标签?当用户在家时单击主页选项卡以转到滚动页面的顶部时,我希望执行一项操作。

【问题讨论】:

    标签: flutter dart tabbarcontroller


    【解决方案1】:

    您可以在TabView 小部件中使用onItemSelected 选项。

    【讨论】:

      【解决方案2】:

      您可以在 TabBar 类中实现使用 onTap 方法。

      TabBar(
         onTap: (index) {
            print(controller.index);
            print(index);
            if (controller.index == index) {
               print('Same Tab Clicked');
            }
         },
         tabs: [
            ...
         ]
      
      });
      

      【讨论】:

      • controller.index 和 index 将始终相同。但是,我可以使用 controller.indexIsChanging 来检查 onTap 内部!
      • hm..我已经测试过它是否有效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多