我有一个数据模型产品,其数据存储在FireStore中.当我使用Provider读取它的数据并打印产品dim_x和dim_y的字段时,我只打印出不同的值.例如,
我有两个产品 P1,dim_x=200.0,dim_y=100.0 具有dim_x=80.0和dim_y=80.0的P2
下面代码中的print命令只打印80.0一次,这是为什么? ({200.0,100.0},{80.0}) 为什么不打印({200.0,100.0},{80.0,80.0})?
class Product {
final String pid;
final double dim_x;
final double dim_y;
Product(
{required this.pid,
required this.dim_x,
required this.dim_y,})
}
class CreateJob extends StatefulWidget {
CreateJob({super.key});
@override
State<CreateJob> createState() => _CreateJobState();
}
class _CreateJobState extends State<CreateJob> {
Future<List<Product>> fetchProductsFromBase() async {
// .. code for getting data from firestore collection
}
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
FutureProvider<List<Product>>(create: (_) => fetchProductsFromBase(), initialData: []),
// ...,
],
child: SafeArea(
//...somewhere down the widget tree
//ScheduledDelivery()
}
class ScheduledDelivery extends StatefulWidget {
const ScheduledDelivery({super.key});
@override
State<ScheduledDelivery> createState() => _ScheduledDeliveryState();
}
class _ScheduledDeliveryState extends State<ScheduledDelivery> {
late List<Product> productList;
@override
void initState() {
super.initState();
productList = context.read<List<Product>>();
}
@override
Widget build(BuildContext context) {
print('\n${productList.map((e) => {e.dim_x, e.dim_y})}\n');
// ...
}