如何在 Flutter 的选项卡视图上启用禁用编辑模式

How to enable disable edit mode on tabs view in Flutter

我想为 selected 选项卡中的某些元素启用 "edit" 模式,问题是 如果我在 appBar 菜单中使用编辑按钮,我会为所有选项卡启用编辑模式,而不仅仅是 selected。

当用户 select 选项卡并从 appBar 单击编辑时,我想 s 查看该选项卡的编辑模式,然后保存到 s 返回。如果用户通过单击其他选项卡或滑动在编辑过程中退出,我想再次显示非编辑选项卡。

我正在调用这个来回编辑 btn。

  void _editModeCall(String u) {
    setState(() {
      _editMode = true;
    });

  }

然后我得到了五个这样的标签:

  firstTab(){
    if(_editMode){
      return _editmodeView();
    }else{
      return _defoultView();
    }
  }

并在保存 btn 时瞄准 sing bool _editMode,这是有效的,但这样我在所有选项卡上启用 "editMode",而不仅仅是 selected。

如何获取索引或以其他方式了解 选项卡上的用户并仅为该选项卡启用编辑视图?

您可以为此使用 TabController class。您可以创建一个新的 TabBar 小部件并向其附加 TabController

_tabController = new TabController(length: 3, vsync: this);
TabBar(controller: _tabController);

然后要获取当前索引,调用_tabController.index。然后使用 setState() 调用并仅更改可见 TabBarView 页面的 State

参考:https://api.flutter.dev/flutter/material/TabController-class.html