flutter - 如何在导航栏项目之间浏览时保持复选框状态
问题描述
在 Flutter 中,我有一个底部导航栏,其中有 4 个不同的底部导航栏项目。在第 4 个菜单项中,我有一个复选框小部件。在导航栏中浏览项目时,我希望选中或未选中项目的情况仍然存在。例如,如果我取消选中此小部件,我希望它在浏览其他导航栏项目时保持“未选中”状态。我怎样才能做到这一点?我尝试使用复选框的关键参数,但失败了。
解决方案
您应该使用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;
}
推荐阅读
- sql - 更新主键列中的所有值
- ios - 方向更改时的自定义 TableViewCell 自动布局问题
- android - 非游戏应用程序被三星游戏启动器视为游戏
- android - 如何在 BaseActivity 中使用 ProgressBar 而不是弃用的 ProgressDialog?
- php - 覆盖子主题中的模块
- python - 减去索引 - TypeError: cannot perform __sub__ with this index type:
- postgresql - 以特定格式将 LocalDate 字段写入数据库
- pytest - 如何使用 PEP 420 命名空间包对项目进行 Pytest?
- c# - Entity Framework Core 通过 SSH 隧道连接到 MSSQL 数据库
- perl - Perl dbi (select) 获取数组中的空字符串