首页 > 解决方案 > 从函数返回 ListView 使 Flutter Column 空白

问题描述

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

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

标签: flutterdart

解决方案


添加shrinkWraptrueproductsList部件中。

ListView(children: p, shrinkWrap: true);

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


推荐阅读