Flutter DefaultTabController 获取当前索引

获取当前索引,可以看这个链接,涵盖多种方式:

how-to-get-current-tab-index-in-flutter

其中点赞数最多的方式是使用TabController,然而它对我不太适用,因为我的某个需求,选项卡是动态生成的,而此方式对此不太友好

而其它方法也不太好,我最后用下面新的方式实现:

final GlobalKey _scaffoldKey = new GlobalKey();
List _tabs = [];  // 动态选项卡

  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: _tabs.length,
      child: Scaffold(
          key: _scaffoldKey,
          ...
      )
  )}

然后利用下面方式获取索引:

DefaultTabController.of(_scaffoldKey.currentState.context).index;

或者

DefaultTabController.of(_scaffoldKey.currentContext).index;

你可能感兴趣的:(Flutter DefaultTabController 获取当前索引)