Flutter 颤振腹板:范围错误:值不在范围内:12
我想使用streambuilder显示用户的firestore信息,但无法。下面是我的代码,但当我构建此页面时,我会看到一个红色屏幕和一条错误消息Flutter 颤振腹板:范围错误:值不在范围内:12,flutter,web,stream-builder,Flutter,Web,Stream Builder,我想使用streambuilder显示用户的firestore信息,但无法。下面是我的代码,但当我构建此页面时,我会看到一个红色屏幕和一条错误消息值不在范围内:12导致错误的相关小部件是调试控制台上的StreamBuilder。我不知道怎么了。有人能帮我吗 @override Widget build(BuildContext context) { final clientbios = Provider.of<List<Clientbio>>(context) ?? [
值不在范围内:12导致错误的相关小部件是调试控制台上的StreamBuilder
。我不知道怎么了。有人能帮我吗
@override
Widget build(BuildContext context) {
final clientbios = Provider.of<List<Clientbio>>(context) ?? [];
return ListView.builder(
itemCount: clientbios.length + 1,
itemBuilder: (context, index) {
if (index == 0) {
return StreamBuilder<Userbio>(
stream: FirebaseFirestore.instance.collection('users')
.doc(uid).snapshots()
builder: (context, snapshot) {
Userbio userbio = snapshot.data;
return Card(
child: Text('${userbio.name})
);});
} else {
return ClientbioTile(clientbio: clientbios[index - 1]);
}
});
}
}
@覆盖
小部件构建(构建上下文){
final clientbios=Provider.of(context)??[];
返回ListView.builder(
itemCount:clientbios.length+1,
itemBuilder:(上下文,索引){
如果(索引==0){
返回流生成器(
流:FirebaseFirestore.instance.collection('用户')
.doc(uid).snapshots()
生成器:(上下文,快照){
Userbio Userbio=snapshot.data;
回程卡(
子项:文本('${userbio.name})
);});
}否则{
返回clientbiole(clientbio:clientbios[index-1]);
}
});
}
}
您正在编写:clientbios.length+1
为itemCount
。
您应该删除
+1
,并且只有clientbios.length
谢谢您的回答。我这样写的原因是我想在userbio
info下显示clientbios
列表。所以列表的总长度必须是clientbios.length+1
包括userbio
info。