在尝试使用Navigator.of(context).push()
导航到另一个页面时,我遇到此异常:
lib / main.dart:20:41:错误:函数表达式不能具有名称。 Navigator.push(context,MaterialPageRoute(builder:context){ ^^^^^^^^^^^^^^^^^^ lib / main.dart:20:68:错误:不是常量表达式。 Navigator.push(context,MaterialPageRoute(builder:context){ ^^^^^^^^ lib / main.dart:20:66:错误:非可选参数不能具有默认值。 尝试删除默认值或将参数设为可选。 Navigator.push(context,MaterialPageRoute(builder:context){ ^ lib / main.dart:错误:无法将参数类型“ HomePage Function(动态)”分配给参数类型“ Route”。
代码:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Are You Present?',
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child:
FlatButton(onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(builder: context){
return HomePage();
}
);
}, child: Text("Press to Continue")),
),
));
}
}
答案 0 :(得分:1)
这是使用Navigator.of(context).push()
的正确方法:
尝试按照以下说明更改onPressed
内部的代码
Navigator.of(context).push(MaterialPageRoute(
builder: (context){
return HomePage();
}
));
答案 1 :(得分:0)
Navigator.push(
context,
MaterialPageRoute(
builder: (context) {
return Demo();
},
),
);
构建器将一个函数作为输入,并且我们提供了一个匿名函数,其参数为当前 context ,并且如果按下按钮,我们将返回要推送到堆栈中的类。 / p>