StreamBuilder(
stream: users.where("invites", arrayContains: uid).snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasData) {
_items = snapshot.data!.docs;
return AnimatedList(
key: listKey,
initialItemCount: _items.length,
itemBuilder: (context, index, animation) {
return _buildItem(index, _items[index], animation);
},
);
} else {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: const [
Center(
child: SizedBox(
height: 50,
width: 50,
child: CupertinoActivityIndicator()),
),
],
);
}
},
)
我从 FirebaseFirestore 获得了这个 StreamBuilder 流。例如,我在 Firebase 中有 3 个符合我的条件的条目(保存在 _items 中)。到目前为止,一切都很好。但是,如果我删除其中一个,流会刷新,但列表会抛出错误: RangeError (index): Invalid value: Not inclusive range 0..1: 2 其他方式相同的问题:只显示两个,第三个是未显示。有谁知道为什么或如何解决这个问题。谢谢 :)