У меня есть код, приведенный ниже, но я не знаю, как преобразовать наблюдаемые «записи» из базы данных огня в MatTableDataSource «postsTable»?
Поскольку я хочу изменить источник данных таблицы матов на MatTableDataSource,затем используйте mat-paginator
Я попытался добавить новый MatTableDataSource в определение или создать его после карты данных, возвращенных из firestore, но не работающих.
export interface Post {
title: string;
category: string;
image: string;
content: string;
updateAt: firebase.firestore.FieldValue;
}
export interface PostID extends Post { id: string; }
export class PostsViewComponent implements OnInit {
private postCollection: AngularFirestoreCollection;
posts: Observable<PostID[]>;
postsTable = new MatTableDataSource();
ngOnInit() {
this.postCollection = this.angularFirestore.collection('posts');
this.posts = this.postCollection.snapshotChanges().pipe(
map(actions => actions.map(a => {
const data = a.payload.doc.data() as PostID;
data.id = a.payload.doc.id;
return data;
}))
);
}
}