流生成器flutter中用于空值的空检查运算符



im在加载页面时遇到此异常,它会显示一段时间,但当加载列表时,它会消失。errors读取第255行,att第255行我有一个孩子:streambuilder我想不出出了什么问题

Expanded(
child: StreamBuilder(
stream: restaurants.where('status', isEqualTo: 'Approved').snapshots(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
return ListView(
children: snapshot.data!.docs.map((restaurants) {
return RestaurantCard(restaurants: restaurants,);
}).toList(),
);
},
),
)

您必须检查StreamBuilder中的不同状态,并且只有在有可用数据的情况下才构建ListView

StreamBuilder<DocumentSnapshot>(
stream: restaurants.where('status', isEqualTo: 'Approved').snapshots(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.connectionState ==
ConnectionState.waiting) {
return const Center(child: CircularProgressIndicator());
}
if (snapshot.hasError) {
return const Center(
child: Text('Snapshot error'),
);
}
if (!snapshot.hasData) {
return const Center(
child: Text('Snapshot data missing'),
);
}
return ListView(
children: snapshot.data!.docs.map((restaurants) {
return RestaurantCard(restaurants: restaurants,);
}).toList(),
);
})

最新更新