【问题标题】:Flutter - PopupMenuItem - how get valueFlutter - PopupMenuItem - 如何获取价值
【发布时间】:2020-07-30 05:43:42
【问题描述】:

当您单击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,
);

【问题讨论】:

    标签: flutter dart widget popupmenu


    【解决方案1】:

    用户选择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 时,我们得到了 valuePopupMenuItem

    编辑: 如果你在 Flutter 的网页上查看showMenu 函数的documentation,你会看到它返回了一个Future,这就是我在showMenu 函数前面使用await 的原因。

    【讨论】:

      猜你喜欢
      • 2021-07-22
      • 2021-06-28
      • 2021-02-12
      • 2022-10-24
      • 2021-07-02
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多