小编aha*_*ddy的帖子

Flutter:使用 PopupMenuButton 的选择功能导航到另一个页面

我试图从应用程序主页上 PopupMenuButton 列表上的“注销”按钮导航回登录页面。我尝试配置的“注销”按钮如下所示:

在此输入图像描述

简化的代码如下所示:

@override
Widget build(BuildContext context) {
return Scaffold(
    appBar: AppBar(
      title: Text('Home Page'),
      actions: <Widget>[
        PopupMenuButton<String>(
          onSelected: choiceAction,
          itemBuilder: (BuildContext context) {
            return MenuOptions.choices.map((String choice){
              return PopupMenuItem<String>(
                value: choice,
                child: Text(choice),
              );
            }).toList();
Run Code Online (Sandbox Code Playgroud)

onSelected调用以下内容choiceAction

  void choiceAction(String choice) {
    setState() {
      if (choice == MenuOptions.SignOut) {
        Navigator.push(
          context,
          MaterialPageRoute(builder: (context) => LoginPage()),
        );
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

我面临的问题是它context在 Navigator.push 中说未定义。我不确定我是否使用Widget build(BuildContext context)or中定义的上下文itemBuilder: (BuildContext context),并且我不知道如何修复其未定义的错误以使其使用在 中调用的定义onSelected

dart flutter

2
推荐指数
1
解决办法
3295
查看次数

标签 统计

dart ×1

flutter ×1