我正在AppBar部分中创建一个PopupMenuButton()。
这是我的文件:
import 'dart:js';
import 'package:bfdi_app/settings.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
class ProfilePage extends StatefulWidget {
@override
_ProfilePageState createState() => _ProfilePageState();
}
class _ProfilePageState extends State<ProfilePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(
'App_Name',
),
actions: <Widget>[
PopupMenuButton(
icon: Icon(Icons.settings),
onSelected:(value){
if(value==0){
Navigator.push(
context,
MaterialPageRoute(builder: (context)=>SettingPage())
);
}
},
itemBuilder: (context) => [
PopupMenuItem(
child: Text("Settings"),
value:0,
],
),
],
),
}
现在我在控制台日志中遇到错误:
Compiler message:
lib/Pages/addPost.dart:1:8: Error: Not found: 'dart:js'
import 'dart:js';
^
lib/Profile/profile.dart:1:8: Error: Not found: 'dart:js'
import 'dart:js';
^
答案 0 :(得分:1)
引用pub.dev:
依靠它
将此添加到您程序包的pubspec.yaml
文件中:
dependencies:
js: ^0.6.2
安装
您可以从命令行安装软件包:
和pub
:
$ pub get
与flutter
:
$ flutter pub get
或者,您的编辑器可能支持pub get或flutter pub get。查看您的编辑器文档以了解更多信息。
导入 现在,在Dart代码中,您可以使用:
import 'package:js/js.dart';
答案 1 :(得分:0)
尝试使用 js 软件包:https://pub.dev/packages/js#-installing-tab-
您应该尝试使用package:js
而不是dart:js
答案 2 :(得分:0)
编辑:我已经切换到主频道,并且一切正常。尽管我在您当前的代码中看不到dart.js
的任何要求。所以你也可以删除它
原始答案:
我相信您正在使用stable channel
,因此请尝试切换到beta channel
。
打开终端并运行,
$ flutter channel beta
答案 3 :(得分:0)
转到已安装的Flutter安装目录/.pub-cache/hosted/pub.dartlang.org/js-0.6.3-nullsafety.1/lib/js.dart
删除或注释此行:
export 'dart:js' show allowInterop, allowInteropCaptureThis;
然后重试
答案 4 :(得分:0)
实际上,我的问题仅通过系统重启和“flutter clean”命令就解决了。 (是的,我正在使用 beta 频道)但奇怪的是文件已经存在,但依赖项不知何故无法从 dart 包中读取。
答案 5 :(得分:0)
我只是 del import 'package:js'。它对我有用。