【问题标题】:flutter web: rangeerror: value not in range: 12颤动的网络:范围错误:值不在范围内:12
【发布时间】:2021-05-08 12:28:23
【问题描述】:

我想使用 streambuilder 显示用户的 firestore 信息,但不能。以下是我的代码,但是当我构建此页面时,我的调试控制台上出现红屏和错误消息Value not in range: 12 The relevant error-causing widget was StreamBuilder<Userbio>。我不知道出了什么问题。有人能帮帮我吗?

 @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]);
      }
    });
  }
 }

【问题讨论】:

    标签: flutter web stream-builder


    【解决方案1】:

    您正在写:clientbios.length + 1itemCount。 您应该删除 + 1 并且只有 clientbios.length

    【讨论】:

    • 感谢您的回答。我这样写的原因是我想在userbio 信息下显示clientbios 列表。所以列表的总长度必须是clientbios.length + 1,包括userbio info。
    猜你喜欢
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 2023-01-10
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2017-06-23
    相关资源
    最近更新 更多