Какой метод показывает данные из списка на экране во флаттере? - PullRequest
0 голосов
/ 01 мая 2020

Я сохранил некоторые данные из экземпляра firestore в списке, и теперь я хочу отобразить данные на моем экране.

Когда я печатаю свой список в терминале, я вижу это:

I/flutter (11351): [{num: 100, title: This is test 2}]

Я определил список следующим образом:

var list = new List();

Я выбираю данные одним нажатием кнопки.

RaisedButton(
                onPressed: () async {
                  var documentReference = await Firestore.instance.collection('insults').document('vv4YjpyRFFEknbCyC9o7');
                  documentReference.get().then((documentSnapshot){
                    setState(() {
                      list.add(documentSnapshot.data);
                    });
                    print(list);

                  }) ;
                },
                child: Text('Press me'),
              ),

Пожалуйста, помогите мне немного. Я только начал изучать флаттер.

Я не хочу, чтобы l oop просматривал документ, но я хочу сохранить его в списке, используя подходящий метод.

1 Ответ

1 голос
/ 01 мая 2020

Нет необходимости показывать список, поскольку вы извлекаете данные только по одному документу. Если вы хотите показать извлеченные данные, то вы можете сделать следующее:

Сначала создайте переменную экземпляра в ваш State:

Map<String, dynamic> retrievedData = Map<String, dynamic>();

Затем внутри setState назначьте данные для retrievedData:

RaisedButton(
                onPressed: () async {
                  var documentReference = await Firestore.instance.collection('insults').document('vv4YjpyRFFEknbCyC9o7');
                  documentReference.get().then((documentSnapshot){
                    setState(() {
                      retrieveData = documentSnapshot.data;
                    });
                  }) ;
                },
                child: Text('Press me'),
              ),

Внутри метода build вы можете получить Column с кратные children, например:

          children: <Widget>[
            Text(
               retrievedData["title"] ?? "",
            ),
             Text(
              retrievedData["num"] ?? "",
            ), 
          ],

При нажатии кнопки setState вызовет метод сборки, и вы увидите ваши данные на экране.

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