尝试使用模型来从Firestore获取列表,该模型在没有模型但不能与模型一起使用的情况下起作用。
在一个StatefulWidget中,我得到了一个空的产品列表。基本上来自这样的模型
import
像这样的产品列表
class Product {
int id;
String title, price, message;
Product(this.id, this.title, this.price, this.message);
}
然后使用这样的import 'package:presentation_app/models/product.dart';
class _ProductsListState extends State<ProductsList> {
List<Product> products = [];
@override
Widget build(BuildContext context) {
return Scaffold(
...
集合添加了一个StreamBuilder
firestore
然后在StreamBuilder(
stream: Firestore.instance.collection('products').snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot){
if (!snapshot.hasData) return CircularProgressIndicator();
return BuildListView(products);
}
),
类中,我将其称为“产品列表”,并按如下方式使用它:
BuildListView
然后在class BuildListView extends StatelessWidget {
final List<Product> products;
BuildListView(this.products);
中尝试访问数据,如下所示:
listViewBuilder
我得到了ListView.builder(
itemCount: products.length,
itemBuilder: (BuildContext context, int index) {
int id = products[index].id;
String title = products[index].title;
String message = products[index].message.toString();
String price = products[index].price.toString();
,但加载完成后,没有弹出任何消息。
使用这种方法是可行的,但当然不适用于模型
CircularProgressIndicator
答案 0 :(得分:0)
在这种情况下,不需要<!DOCTYPE html>
<html>
<head>
<title>rera</title>
</head>
<body>
<div id="articleContainer">
<div id="itemContainer">
<img id="logopic" src="logo.png">
<img id="logopic" src="logo.png">
<img id="logopic" src="logo.png">
<img id="logopic" src="logo.png">
<img id="logopic" src="logo.png">
<img id="logopic" src="logo.png">
<img id="logopic" src="logo.png">
</div>
</div>
</body>
</html>
<style>
#articleContainer {
display:flex;
justify-content:center;
height:100%;
width:100%;
}
#itemContainer {
align-items:center;
}
#logopic {
margin-right:10px;
margin-left:10px;
height:20%;
}
</style>
,因为我没有使用业务逻辑,因此如果使用model
和诸如{{1 }}使用model
的{{1}}应该看起来像这样。
Bloc
和用于创建数据的数据库模型,例如。
firebase