0

我对颤动很陌生,我在网上找到了我的 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 设为全局最终后期变量,但它似乎会引起很多问题。老实说,我不明白 PopupMenuButton 在调用函数方面的工作原理,因此我不知道如何传递另一个参数 感谢您的帮助

4

1 回答 1

0

onSelected改为这样写:

onSelected: (value) {
  handleClick(value, context);
},
于 2021-07-10T11:24:08.527 回答