【发布时间】:2018-08-29 15:16:50
【问题描述】:
我有 MyApp 类负责加载应用程序。我正在加载一个类 HomeWidget 作为 MyApp 中的主页。
void main() => runApp(new myApp());
class myApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'My App',
color: Colors.grey,
home: new HomeWidget(),
theme: new ThemeData(
primarySwatch: Colors.lightBlue,
),
routes: <String, WidgetBuilder>{
"/ItemDetailWidget": (BuildContext context) => new MovieDetailsPage(),
},
);}}
HomeWidget 包含 - Header、ListView、BottomNavigation。
当用户从 ListView 中点击特定项目时,我想显示新的 Widget/Page(ItemDetailWidget),其中包含有关该特定项目的所有信息。
所以我创建了 ItemDetailWidget ,它是有状态的,并且它接受一个对象类型的参数 MyModel 假设。我故意让它有状态。
当我经过时,我应该如何将 ItemDetailWidget 添加到 Routes 中 参数呢?
我尝试过使用
"/ItemDetailWidget": (BuildContext context) => new ItemDetailWidget(),
但是,它抛出错误为“构造函数返回类型动态不是预期类型的小部件”
& 另外,我如何使用 Navigator 语法将 MyModel 对象传递给 ItemDetailWidget?我在 ListView 中有 onTap() 函数。
Navigator.of(context).pushNamed('/widget1');
【问题讨论】:
标签: flutter