如何从列表中删除项目(Dart)| Firebase 实时数据库
How to remove items from a list (Dart) | Firebase rtdb
我有一个列表,其中存储了我不想在 StreamBuilder
、ListView
中显示的项目。此列表从 firebase rtdb
.
检索其信息
我使用 StreamBuilder
填充 ListView
,然后我使用 for-loop
尝试遍历包含我不想显示的项目的列表。到目前为止,我可以填充 ListView
,但从 StreamBuilder 中删除的项目不准确。
以下是我的处理方法(非常感谢任何帮助):
我可以确认列表中肯定包含我不想显示的信息
ListView.builder(
physics: BouncingScrollPhysics(),
itemCount: friends.length,
itemBuilder: (context, index) {
final friend = friends[index];
if (friend.userID == uid){
return null;
} else {
for (FriendSuggestionModel hidden in hiddenSuggestions){
if (hidden.userID == friend.userID){
return null;
} else {
return friendThumbnail(index, friend);
}
}
return null;
}
});
首先,我认为您需要在 itemBuilder 中 return 一个 Widget,所以不要使用 return null,您可以 return 一个空容器 return Container().
你也可以使用list.contains(x)方法来验证这个id是否应该被隐藏(如我所想,如下:
itemBuilder: (context, index) {
final friend = friends[index];
if (friend.userID == uid){
return const Container();
} else {
return hiddenSuggestions.map((hidden) => hidden.userID).toList().contains(friend.userID)
? const Container()
: friendThumbnail(index, friend);
}
}
在此处查看该方法文档:https://api.dart.dev/stable/2.0.0/dart-core/Iterable/contains.html
我有一个列表,其中存储了我不想在 StreamBuilder
、ListView
中显示的项目。此列表从 firebase rtdb
.
我使用 StreamBuilder
填充 ListView
,然后我使用 for-loop
尝试遍历包含我不想显示的项目的列表。到目前为止,我可以填充 ListView
,但从 StreamBuilder 中删除的项目不准确。
以下是我的处理方法(非常感谢任何帮助):
我可以确认列表中肯定包含我不想显示的信息
ListView.builder(
physics: BouncingScrollPhysics(),
itemCount: friends.length,
itemBuilder: (context, index) {
final friend = friends[index];
if (friend.userID == uid){
return null;
} else {
for (FriendSuggestionModel hidden in hiddenSuggestions){
if (hidden.userID == friend.userID){
return null;
} else {
return friendThumbnail(index, friend);
}
}
return null;
}
});
首先,我认为您需要在 itemBuilder 中 return 一个 Widget,所以不要使用 return null,您可以 return 一个空容器 return Container().
你也可以使用list.contains(x)方法来验证这个id是否应该被隐藏(如我所想,如下:
itemBuilder: (context, index) {
final friend = friends[index];
if (friend.userID == uid){
return const Container();
} else {
return hiddenSuggestions.map((hidden) => hidden.userID).toList().contains(friend.userID)
? const Container()
: friendThumbnail(index, friend);
}
}
在此处查看该方法文档:https://api.dart.dev/stable/2.0.0/dart-core/Iterable/contains.html