Как конвертировать Observable в MatTableDataSource? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть код, приведенный ниже, но я не знаю, как преобразовать наблюдаемые «записи» из базы данных огня в 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;
            }))
        );
     }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...