Flutter 已经定义了如何在文件小部件外部使用全局键
在文件1中,我定义了以下小部件:Flutter 已经定义了如何在文件小部件外部使用全局键,flutter,dart,key,Flutter,Dart,Key,在文件1中,我定义了以下小部件: class MyWidget extends StatefulWidget { const MyWidget({ Key key, }) : super(key: key); @override _MyWidget createState() => _MyWidgetState(); } 在文件2中,我想调用这个小部件并为key参数提供一个全局键。为此,我将导入文件1: import 'package:mypackage/sup
class MyWidget extends StatefulWidget {
const MyWidget({
Key key,
}) : super(key: key);
@override
_MyWidget createState() => _MyWidgetState();
}
在文件2中,我想调用这个小部件并为key参数提供一个全局键。为此,我将导入文件1:
import 'package:mypackage/supplemental/file1.dart';
然后在这个文件(文件2)中,我想定义一个MyWidget全局键:
GlobalKey<_MyWidgetState> globalKey;
GlobalKey-GlobalKey;
但我得到了一个错误:
名称“\u MyWidgetState”不是类型,因此不能用作类型
论点尝试将名称更正为现有类型,或定义
名为“\u MyWidgetState”的类型
为什么即使我导入了该文件,我也无法访问它?请删除您的\u MyWidgetState前面的下划线以将其公开。改变
_MyWidgetState
到
删除_MyWidgetState前面的下划线以将其公开。改变
_MyWidgetState
到
如果在类或变量声明之前有一个
,则表示该类或变量是私有的。在您的情况下,MyWidgetState是私有的,不能从其他文件访问。您可以从类声明中删除
,然后它就可以工作了。如果在类或变量声明之前有
,则表示该类或变量是私有的。在您的情况下,MyWidgetState是私有的,不能从其他文件访问。您可以从类声明中删除。
,然后它就可以工作了。