首页 > 解决方案 > 如何在导航栏项目之间浏览时保持复选框状态

问题描述

在 Flutter 中,我有一个底部导航栏,其中有 4 个不同的底部导航栏项目。在第 4 个菜单项中,我有一个复选框小部件。在导航栏中浏览项目时,我希望选中或未选中项目的情况仍然存在。例如,如果我取消选中此小部件,我希望它在浏览其他导航栏项目时保持“未选中”状态。我怎样才能做到这一点?我尝试使用复选框的关键参数,但失败了。

标签: flutterdart

解决方案


您应该使用AutomaticKeepAliveClientMixin 在您浏览项目时保持状态。用它扩展您的状态类并创建一个覆盖方法wannaKeepAlive 并将其设置为 true。这是一个使用 AutomaticKeepAliveClientMixin 的小部件示例。

class Example extends StatefulWidget {
  @override
  _ExampleState createState() => _ExampleState();
}

class _ExampleState extends State<Example> with AutomaticKeepAliveClientMixin {
  @override
  Widget build(BuildContext context) {
    return Container(

    );
  }

  @override
  // TODO: implement wantKeepAlive
  bool get wantKeepAlive => true;
}

推荐阅读