getter 'documents' 被调用为 null
The getter 'documents' was called on null
我正在使用 flutter 和 firebase 制作待办事项列表。即使在我检查了我的 snap.data == null 之后它仍然向我显示此错误。但我不确定为什么仍然不起作用。
请帮忙。我已经检查过类似的问题,但仍然没有解决
对不起我的英语
body: StreamBuilder(
stream: Firestore.instance.collection("MyTodos").snapshots(),
builder: (context, snapshots) {
return ListView.builder(
shrinkWrap: true,
itemCount: snapshots.data.documents.length,
itemBuilder: (context, index) {
DocumentSnapshot documentSnapshot =
snapshots.data.documents[index];
return Dismissible(
key: Key(index.toString()),
child: Card(
child: ListTile(
title: Text(documentSnapshot["todoTitle"]),
trailing: IconButton(
icon: Icon(Icons.delete),
onPressed: () {
setState(() {
todos.removeAt(index);
});
},
),
),
),
);
},
);
},
)
StreamBuilder
在获取任何数据之前有一个默认状态,您需要检查这个状态,这样您就不会尝试使用尚不存在的数据进行构建。您可以通过选中 snapshots.hasData
或 snapshots.data == null
:
来完成此操作
StreamBuilder(
...
builder: (context, snapshots) {
if (!snapshots.hasData) {
return CircularProgressIndicator();
}
else {
return ListView.builder(
...
);
}
},
),
我正在使用 flutter 和 firebase 制作待办事项列表。即使在我检查了我的 snap.data == null 之后它仍然向我显示此错误。但我不确定为什么仍然不起作用。
请帮忙。我已经检查过类似的问题,但仍然没有解决 对不起我的英语
body: StreamBuilder(
stream: Firestore.instance.collection("MyTodos").snapshots(),
builder: (context, snapshots) {
return ListView.builder(
shrinkWrap: true,
itemCount: snapshots.data.documents.length,
itemBuilder: (context, index) {
DocumentSnapshot documentSnapshot =
snapshots.data.documents[index];
return Dismissible(
key: Key(index.toString()),
child: Card(
child: ListTile(
title: Text(documentSnapshot["todoTitle"]),
trailing: IconButton(
icon: Icon(Icons.delete),
onPressed: () {
setState(() {
todos.removeAt(index);
});
},
),
),
),
);
},
);
},
)
StreamBuilder
在获取任何数据之前有一个默认状态,您需要检查这个状态,这样您就不会尝试使用尚不存在的数据进行构建。您可以通过选中 snapshots.hasData
或 snapshots.data == null
:
StreamBuilder(
...
builder: (context, snapshots) {
if (!snapshots.hasData) {
return CircularProgressIndicator();
}
else {
return ListView.builder(
...
);
}
},
),