【问题标题】:PopupMenuButton sending Buildcontext to handleclick functionPopupMenuButton 发送 Buildcontext 到 handleclick 函数
【发布时间】:2021-07-10 11:16:55
【问题描述】:

我是 Flutter 的新手,我在网上找到了我的 PopupMenuButton 的代码并稍作修改。我希望注销选项运行 Navigator.pop(context),但我不明白如何让它到达那里。 代码:

PopupMenuButton<String>(
      onSelected: handleClick,
      itemBuilder: (context) {
      return {'Logout', 'Settings'}.map((String choice) {
        return PopupMenuItem<String>(
           value: choice,
        child: Text(choice)
      );
    }).toList();
  }
),

我想把它寄到这里:

void handleClick(String value, BuildContext context) {
  switch (value) {
    case 'Logout':
      storage.deleteAll();
      //Navigator.pop();

      break;
    case 'Settings':
      break;
  }
}

我也尝试将 Buildcontext 设为全局 final 后期变量,但它似乎引起了很多问题。 老实说,我不明白 PopupMenuButton 在调用函数方面的工作原理,因此我不知道如何传递另一个参数 感谢您的帮助

【问题讨论】:

    标签: function flutter popupmenubutton


    【解决方案1】:

    改为这样写onSelected:

    onSelected: (value) {
      handleClick(value, context);
    },
    

    【讨论】:

    • 我不明白。如何添加选项注销和设置?
    • 不要写onSelected: handleClick,而是像我在答案中显示的那样写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多