Как получить данные из Firestore - Flutter - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь получить данные из моей базы данных firestore и назначить эти значения для List в flutter

Но проблема в том, что, хотя я могу получить данные, я могу Не присваивайте его List

Вот как мой метод получения данных:

Stream<List<News>> getNews(){
    return _db.collection("news") 
      .snapshots()
      .map((snapshot) => snapshot.documents.map((doc) => News.fromMap(doc.data, doc.documentID)).toList(),);
  }

Здесь я пытаюсь получить эти данные из firestore в List

Widget _showSearchBar(BuildContext context) {


  List = FireStoreServiceApi().getNews(); //this produces an error, see below to see the error

  List list = [
    "Banuka",
    "Banuka",
    "Banuka",
  ];

  return GFSearchBar(
    // overlaySearchListHeight: 160.0,
    searchList: list,
    searchQueryBuilder: (query, list) {
      return list
          .where((item) => item.toLowerCase().contains(query.toLowerCase()))
          .toList();
    },
    overlaySearchListItemBuilder: (item) {
      return Container(
        padding: const EdgeInsets.all(3),
        child: Text(
          item,
          style: const TextStyle(fontSize: 18),
        ),
      );
    },
    onItemSelected: (item) {},
  );
}

Но при этом получается:

Значение типа «Поток>» нельзя присвоить переменной типа «Список». Попробуйте изменить тип переменной или приведите правый тип к «List»

Я не знаю, как это исправить, и может кто-нибудь помочь мне?

1 Ответ

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

Вам необходимо добавить тип списка, как показано ниже,

List<News> newsList = FireStoreServiceApi().getNews();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...