【问题标题】:Flutter - How to detect if popupmenu has been closed or user tapped out of the menu to close it?Flutter - 如何检测弹出菜单是否已关闭或用户点击菜单关闭它?
【发布时间】:2023-01-16 07:27:47
【问题描述】:

我通过在自定义应用栏小部件中调用 showMenu() 方法来显示弹出菜单。 我需要能够检测用户是否关闭了弹出菜单。

我尝试使用 GestureDetector 但它只在弹出菜单已经关闭时检测点击,这不是我需要的。

    body: GestureDetector(
      onTap: () => print('Tapped'),
      child: MyWidget(),
    ),

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: flutter popupmenu


    【解决方案1】:

    你可以查看PopupMenuButton文档你会发现它有一个名为onCancelled的属性你可以阅读它here

    【讨论】:

    【解决方案2】:
    final result = await showMenu(...)
    // you can detect close event even if user just dismissed menu like this:
    if(result==null){...do something}
    else{...use result}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 2013-11-20
      • 2022-08-10
      • 1970-01-01
      相关资源
      最近更新 更多