Пожарная служба Flutter Заполните ListView одним документом Список объектов - PullRequest
0 голосов
/ 11 декабря 2018

Я искал везде и не могу найти никаких ресурсов по этому вопросу.Используя Flutter, я пытаюсь заставить создатель Future Listview заполнить, используя один документ в firestore, используя карту / объект.Моя текущая структура в firestore выглядит следующим образом:

 (Collection)Restaurants
      (Document)California
           (Map)Locations
                (String) A0 = Los Angeles
                (String) A1 = LA Restaurant 1
                (String) A2 = LA Restaurant 2
                (String) A3 = LA Restaurant 3
                (String) B0 = San Diego
                (String) B1 = SD Restaurant 1
                (String) B2 = SD Restaurant 2
                (String) B3 = SD Restaurant 3

Каждый найденный мной ресурс помещает каждый из объектов Map в свой собственный документ, а затем извлекает коллекцию целиком, чтобы заполнить список.Можно ли использовать Карту из одного документа, чтобы сделать то же самое?Если так, как бы вы его нашли?

 body: new Container(
    child: FutureBuilder(
        future: getList(),
        builder: (_, snapshot){
          if(snapshot.connectionState == ConnectionState.waiting){
            return Center(
              child: CircularProgressIndicator(),
            );
          }else{
            return ListView.builder(
                itemCount: snapshot.data["California.Locations"].length,
                itemBuilder: (_, index){

                  if(snapshot.data["California.Location"] == "A0"){
                    return ListTile(
                      title: new Center(child: Text(snapshot.data[index].data,
                        style: TextStyle(fontSize: 25.0),),),
                    );
                  }else if(snapshot.data["California.Location"] != "A0") {
                    return ListTile(
                      title: Text(snapshot.data[index].data["name"],
                        style: TextStyle(
                            fontWeight: FontWeight.w500,
                            color: Colors.black),
                      ),
                      onTap: (){
                        Navigator.push(
                            context,
                            MaterialPageRoute(builder: (context)=> RestaurantDetail())
                        );
                      },
                    );
                  }
               });
         }}),
       ),

Мои операторы if должны получить LA и San Diego в качестве заголовков в списке.

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