如何使用GetX使用Firestore流填充列表

海梅

我正在尝试填充RxList(GetX Flutter包),以便可以在Listview.builder中显示实时数据。我尝试在Getx Controller中使用以下代码:

final videos = List < Video > ().obs;

@override
void onReady() async {
  videos.bindStream(loadVideos());
  super.onInit();
}

Stream <List<Video>> lista() {
  Stream <QuerySnapshot> stream =
    Firestore.instance.collection('videos').snapshots();

  return stream.map((qShot) => qShot.documents
    .map((doc) => Video(
      title: doc.data['title'],
      url: doc.data['url'],
      datum: doc.data['datum']))
    .toList());
}

loadVideos() async {
  await
  for (List < Video > tasks in lista()) {
    videos.addAll(tasks);
  }
}

但是我收到以下异常:

'Future'不是'Stream <Iterable>'类型的子类型

乔纳塔斯·博尔赫斯

只需使用BindStream收听您的Stream,如下所示:

final videos = List<Video>().obs;

@override
void onInit() async {
  videos.bindStream(lista());
  super.onInit();
}

Stream <List<Video>> lista() {
  Stream <QuerySnapshot> stream =
    Firestore.instance.collection('videos').snapshots();

  return stream.map((qShot) => qShot.documents
    .map((doc) => Video(
      title: doc.data['title'],
      url: doc.data['url'],
      datum: doc.data['datum']))
    .toList());
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Lambda流迭代嵌套列表?

来自分类Dev

如何从使用Java流对象列表的设置

来自分类Dev

如何计算使用流列表的总和?

来自分类Dev

如何使用流对列表进行排序?

来自分类Dev

如何使用linq填充嵌套列表类

来自分类Dev

如何使用WTForms填充对象列表?

来自分类Dev

如何使用视图模型填充下拉列表

来自分类Dev

如何使用AngularJS填充下拉列表值

来自分类Dev

如何使用JavaScript填充下拉列表?

来自分类Dev

如何使用Slamdata报告填充下拉列表

来自分类Dev

使用流填充多维数组

来自分类Dev

使用CryptoPP解密流后如何执行去填充

来自分类Dev

如何使用流减少保留所有列表列表

来自分类Dev

如何使用抖动流从Firestore中获取数据

来自分类Dev

使用列表填充ListView

来自分类Dev

使用 for 循环填充列表

来自分类Dev

使用保留填充列表

来自分类Dev

Python如何使用for循环填充列表中的子列表

来自分类Dev

如何使用JavaScript清空下拉列表后如何填充

来自分类Dev

如何使用流Java获取列表中元素的大小

来自分类Dev

过滤(使用流)时如何从地图还原列表

来自分类Dev

如何使用Java流制作列表元素的所有变体?

来自分类Dev

如何使用Java 8流将列表中的值相乘

来自分类Dev

如何使用Java 8个流跨越多个列表?

来自分类Dev

如何使用Java中的流子列表组数元素

来自分类Dev

如何使用JMESPath将列表转换为流?

来自分类Dev

如何使用Java流制作列表元素的所有变体?

来自分类Dev

如何使用流比较两个列表?

来自分类Dev

如何在datagridview中使用列表填充列表中的一列而其他填充?