【发布时间】:2020-05-24 11:08:41
【问题描述】:
我有一个作为StatelessWidget 的详细信息页面。我的 Feed.dart 中有一个 listview。通过单击 Listview 元素,您可以进入详细信息页面。现在我想将无状态的详细信息转换为有状态的,但在我的提要中 MaterialPageRoute 现在是错误,即未定义命名的参数商店。如何修复错误?
细节为无状态
class Detail extends StatelessWidget {
final Shop shop;
Detail({ this.shop });
var top = 0.0;
int segmentedControlGroupValue = 0;
final Map<int, Widget> myTabs = const <int, Widget>{
0: Text("Item 1"),
1: Text("Item 2")
};
作为有状态小部件的我的详细信息
class Detail extends StatefulWidget {
@override
_DetailState createState() => _DetailState(Shop());
}
class _DetailState extends State<Detail> {
final Shop shop;
_DetailState(this.shop);
var top = 0.0;
还有我的提要
class ShopTile extends StatelessWidget {
final Shop shop;
ShopTile({ this.shop });
@override
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.only(bottom: 16),
child: InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Detail(shop: shop)),
);
},
上面说第一个店铺不再详细定义。因此存在错误。当它是一个无状态的小部件时,它仍然可以工作。你能帮我看看错误在哪里吗?
【问题讨论】: