【发布时间】:2022-01-14 23:06:19
【问题描述】:
长话短说,我需要获取所有待办事项的列表
获取一个流
static Stream<List<Todo>> readTodos() => FirebaseFirestore.instance
.collection('todo')
.orderBy(TodoField.createdTime, descending: true)
.snapshots()
.transform(Utils.transformer(Todo.fromJson));
然后使用 StreamBuilder 我可以获得一个列表,但是对于一个方法我只需要这些 todos 的所有名称,所以我希望它最终看起来像这样:
todoTitle: [
'eat',
'drink',
'run',
]
那我能做什么?非常感谢!
更新 我不知道以下是否是一个解决方案,但它还不起作用:
final provider = Provider.of<TodosProvider>(context);
final todos = provider.todos;
List<String> userTitle = todos.map['Todo'].where((todo) => todo['title'] != null).map((value) => value['title']).toList();
然后我从 map['Todo'] 得到一个错误,错误是 (The operator '[]' isn't defined for the type 'Iterable<T> Function<T>(T Function(Todo))'.),请帮助 T T 谢谢!
【问题讨论】:
-
这里真的很难说没有看到minimal code that reproduces the problem,可能还有你正在使用的文档结构的截图。
-
嗨弗兰克,很高兴再次见到你,我更新了我的问题,对不起,我在德国,现在在深夜我无法清晰地思考..
标签: flutter google-cloud-firestore