Получите ключ документа Firestore с Flutter - PullRequest
1 голос
/ 28 апреля 2019

Я получил следующий код из https://pub.dartlang.org/packages/cloud_firestore#-readme-tab-,, но я не уверен, как получить ключ каждого документа. Что я хочу сделать, это нажать на каждый термин, чтобы просмотреть или попасть на страницу редактирования.

Модель данных Firestore:

-content
--sPuJxAJu0dBMZLBTakd4
---term
---body content

Код:

class _TermsState extends State<Terms> {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<QuerySnapshot>(
      stream: Firestore.instance.collection('content').snapshots(),
      builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
        if (snapshot.hasError) return Text('Error: ${snapshot.error}');

        switch (snapshot.connectionState) {
          case ConnectionState.waiting:
            return Text('Loading...');
          default:
            return ListView(
              children:
                  snapshot.data.documents.map((DocumentSnapshot document) {
                print(document['term']);
                return ListTile(
                  title: Text(document['term']),
                );
              }).toList(),
            );
        }
      },
    );
  }
}

1 Ответ

1 голос
/ 28 апреля 2019

Если у вас есть DocumentSnapshot, вы можете использовать document.documentID, чтобы получить ключ и document.reference.path, чтобы получить весь путь .

В этом случае document - это объект типа DocumentSnapshot, который вы уже правильно получили.

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