flutter - Flutter - PopupMenuItem - 如何获取价值
问题描述
当您单击 中的按钮时,我会出现一个列表BottomNavigationBarItem
。这是showMenu
包含以下代码的列表。
但是我怎样才能得到这个列表中选择的值呢?
showMenu<int>(
context: context,
position: RelativeRect.fromLTRB(1000.0, 600.0, 0.0, 0.0),
items: <PopupMenuItem<int>>[
new PopupMenuItem<int>(child: const Text('Top 1'), value: 1),
new PopupMenuItem<int>(child: const Text('Top 2'), value: 2),
new PopupMenuItem<int>(child: const Text('Top 3'), value: 3),
new PopupMenuItem<int>(child: const Text('Top 4'), value: 4),
],
elevation: 8.0,
);
解决方案
用户选择 a 后PopupMenuItem
,该值将由showMenu
函数返回。
因此,您可以通过分配给变量来获取值:
var selected = await showMenu(
context: context,
position: RelativeRect.fromLTRB(1000.0, 600.0, 0.0, 0.0),
items: <PopupMenuItem<int>>[
new PopupMenuItem<int>(child: const Text('Top 1'), value: 1),
new PopupMenuItem<int>(child: const Text('Top 2'), value: 2),
new PopupMenuItem<int>(child: const Text('Top 3'), value: 3),
new PopupMenuItem<int>(child: const Text('Top 4'), value: 4),
]);
你可以在下面看到,当我们打印时selected
,我们得到了value
那个PopupMenuItem
编辑:如果您查看Flutter 网页上的函数文档showMenu
,您会看到它返回 a Future
,这就是我await
在函数前面使用的原因showMenu
。
推荐阅读
- excel - 如何将唯一值粘贴到指定工作簿中的某些单元格?
- git - 缩短分支
- javascript - Javascript opencv (opencv.js) 抓取 GC_INIT_WITH_MASK 问题示例?
- excel - 如何以编程方式删除引用?
- php - 重新格式化时间响应类似于 db 格式
- php - 尝试解决断开的链接 Laravel 安装(使用 MAMP)
- excel - 范围类的高级过滤方法失败
- javascript - cypress 中的条件测试
- python - AttributeError:“事务”对象没有属性“附加”
- jenkins - CentOS - java 运行时内存不足