Как получить индекс моментального снимка документа - PullRequest
0 голосов
/ 19 апреля 2020

Я новичок в трепетании и пытаюсь передать снимок документа пожарного магазина другому классу. Я передал в класс Profile снимок документа и хочу указать индекс моего документа, но я не знаю, как его получить. У меня есть

                Expanded(
                child: StreamBuilder<QuerySnapshot>(
                    stream: ((searchString != null) &&
                            (searchString.trim() != ""))
                        ? Firestore.instance
                            .collection('pazienti')
                            .where("searchIndex",
                                arrayContains: searchString)
                            .snapshots()
                        : Firestore.instance
                            .collection('pazienti')
                            .snapshots(),
                    builder: (BuildContext context,
                        AsyncSnapshot<QuerySnapshot> snapshot) {
                      if (snapshot.hasError)
                        return Text('Error: ${snapshot.error}');
                      switch (snapshot.connectionState) {
                        case ConnectionState.waiting:
                          return Center(child: CircularProgressIndicator());
                        default:
                          return ListView(
                            children: snapshot.data.documents
                                .map((DocumentSnapshot document) {

                              return Card(

                                elevation: 10.00,
                                margin: EdgeInsets.all(0.50),
                                child: ListTile(
                                  onTap: () {
                                    Navigator.push(context, MaterialPageRoute(builder: (context) => Profile(miaquery: snapshot.data.documents[????])));
                                  } 
                                  ,
                                  leading: CircleAvatar(
                                    backgroundColor:
                                        Colors.blueGrey.shade800,
                                  ),
                                  title: Text(document['cognome'] +
                                      " " +
                                      document['nome']),
                                  subtitle: Text(document['cognome'] +
                                      " " +
                                      document['nome']),
                                   ),
                              );

                            }).toList(),
                          );
                      }
                    })),
          ],
        ),
      )

Моя проблема по существу здесь

Navigator.push(context, MaterialPageRoute(builder: (context) => Profile(miaquery: snapshot.data.documents[XXXX]))

Как я могу получить индекс документа с карты, которую я использовал?

Большое спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

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

0 голосов
/ 19 апреля 2020

Снимки из запроса не имеют числового индекса c. Результаты запроса могут изменяться в любое время между запросами, и система не может гарантировать стабильность любого вида индекса.

Если вы хотите передать документ другой функции, передайте его уникальный идентификатор документа , После этого получатель может запросить документ напрямую, возможно, из локального кэша, не требуя операции чтения по счету на сервере.

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