flutter - 如何在 PopupMenuItem 中使用 onTap 或 onPressed

标签 flutter dart

我们如何实现对 onTap 的使用或 onPressedPopupMenuItem这是我的代码:

actions: <Widget>[
  PopupMenuButton(
    icon: Icon(Icons.settings),
    itemBuilder: (context) => [
      PopupMenuItem(
        child: Text("Settings"),
      ),
      PopupMenuItem(
        child: Text("Flutter.io"),
      ),
      PopupMenuItem(
        child: Text("Google.com"),
      ),
    ],
  ),
]

我想在点击或单击 Settings PopupMenuItem 时导航到 SettingPage()。
即使在遵循下面提到的解决方案之后,甚至在导入 dart:js 之后,我也会收到此错误
Error: Not found: 'dart:js'
import 'dart:js';

这是我的依赖项:
import 'package:bfdi_app/Profile/editProfile.dart';
import 'package:bfdi_app/models/user.dart';
import 'package:bfdi_app/services/collection.dart';
import 'package:bfdi_app/settings.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'dart:js';

最佳答案

只需将此添加到您的 PopupMenuButton:

onSelected: (result) {
    if (result == 0) {
        Navigator.push(
            context,
            MaterialPageRoute(builder: (context) => SettingPage()),
        );
    }
},

并将您的设置按钮更改为:
PopupMenuItem(
    child: Text("Settings"),
    value: 0,
),

关于flutter - 如何在 PopupMenuItem 中使用 onTap 或 onPressed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59478364/

相关文章:

firebase - 如何使用 Flutter 获取 Firebase 存储目录中的所有文件

flutter - 无法从 flutter 的 Assets 中读取sql文件

dart - 同步 ListView 滚动位置

_formKey.currentState.validate() 上的 Flutter/Dart Null 安全性?

flutter - 无法使用 just_audio 在 Flutter Android 中播放声音

dart - Flutter:在 TextInputFormatter 中使用 NumberFormat

flutter - 如何在 dart 中使用 AES CBC 256bit 和 PKCS5Padding 进行加密和解密以及检索参数

android - 我如何使用 Android Studio 解决 Flutter iOS 错误?

security - 在 Dart 中从浏览器向 websocket 连接添加额外的 header

DART 寄存器元素