直接上代码
import 'package:flutter/material.dart';
class Product{
final String title;// 商品标题
final String description; // 商品描述
Product(this.title,this.description);
}
void main(){
runApp(MaterialApp(
title: '导航的数据传递和接受',
home: ProductList(
products:List.generate(
20,
(i)=>Product('商品 $i', '这是一个商品详情,编号为$i')
)
),
));
}
class ProductList extends StatelessWidget {
final List<Product> products;
ProductList({Key key,@required this.products}):super(key:key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('商品列表'),),
body: ListView.builder(
itemCount: products.length,
itemBuilder: (context,index){
return ListTile(
title: Text(products[index].title),
onTap: (){
Navigator.push(
context,
MaterialPageRoute(
builder: (context)=>ProductDetail(product:products[index])
)
);
},
);
},
),
);
}
}
class ProductDetail extends StatelessWidget {
final Product product;
ProductDetail({Key key,@required this.product}):super(key:key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('${product.title}'),),
body: Center(child: Text('${product.description}'),),
);
}
}
效果图
![](https://img.haomeiwen.com/i3600654/f6d6d703f2991e77.png)
网友评论