从函数返回ListView会使Flutter列为空



每当我把它放在我的小部件列上时,整个列都是空白的。如果我把它取下来,它就会起作用:

Widget productsList(List<Product> products) {
List<ListTile> p = products.map((product) => _product(product)).toList();
return new ListView(children: p);
}
ListTile _product(Product product) => ListTile(
title: Text(product.name,
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: 20,
)),
subtitle: Text(product.quantity.toString()),
leading: Icon(
Icons.shopping_basket,
color: Colors.blue[500],
),
);

以下是我如何使用它:

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Pedido " + _order.orderNumber.toString()),
),
body: Column(
children: [
orderItem("Nome: ", _order.clientName),
productsList(_order.products)
],
));
}

我看不出有什么不对。我将返回一个ListView作为Widget

productsList小部件中将shrinkWrap添加到true

ListView(children: p, shrinkWrap: true);

然后将productsList封装在Expanded小部件内,并将属性mainAxisSize添加到Column小部件中的minimum大小。

最新更新