ionic-framework - 如何从 Firestore 集合创建一个 ion-reorder-group
问题描述
我需要从 firestore 集合创建一个 ion-reorder-group。更准确地说,来自可观察对象,因为要重新排序的列表可以实时更新。
我在这里从@Mirinda Corwin 获得了一些代码(Ionic / Firebase - 错误拼接不是函数(reorderArray))。
这是我改编自美琳达回答的代码:
import { Observable, ObjectUnsubscribedError } from "rxjs";
import { take } from 'rxjs/operators';
...
public membersListRef: AngularFirestoreCollection<any>;
public membersList$: Observable < any []>;
public membersList = {} as any;
public membersArray: any[];
...
this.membersArray = [];
this.membersListRef = this.firestore.collection(`/userProfile/${this.groupNumber}/membersList`);
this.membersList$ = this.membersListRef.valueChanges();
...
this.membersList$.take(1).subscribe((members) => {
members.forEach(mdoc=>{
console.log("id: , name:" + mdoc.id, mdoc.name);
return this.membersArray.push({id: mdoc.id, name:mdoc.name })
})
});
但我收到以下错误:“take 不是 observable 的属性”。
解决方案
当前版本的 RxJS 更改了如何将运算符应用于流的方法,您应该使用“管道”方法:
this.membersList$.pipe(take(1)).subscribe(...);
推荐阅读
- javascript - 我试图从标签中获取随机变化,但它不起作用
- python - 如何在 .NET 中编写使用带有 ironpython 的 python 库?
- class - Kotlin如何从父类强制执行子类
- html - 如何制作一张侧面有时间线的表格?
- javascript - 尝试使用 JavaScript 获取 CSV 数据时无休止的承诺循环
- c# - 使用 EF Core 检索每个组中的最后一条记录
- ansible - ios_logging_global 是幂等的吗?
- python - 如何在 Seaborn 或 Matplotplib 中制作组颜色条 xticks yticks
- c# - 如何使用带有 C# 的 YouTube API 设置时间安排
- javascript - 将带连字符的输入参数发送到 api