'String' не является подтипом типа 'List <String> - PullRequest
0 голосов
/ 28 апреля 2020

Мой код - всплывающее окно, и я получаю сообщение об ошибке: «Строка» не является подтипом типа «Список»

 List<String> store=[];
     void getData() async {
       await for(var snapshot in _firestore.collection('users').snapshots()){
         for(var phon in snapshot.documents){
         store=(phon.data['Name']);
         print(store);
       }
} }

Ответы [ 3 ]

1 голос
/ 28 апреля 2020
List<String> store=[];
String name;
     void getData() async {
       await for(var snapshot in _firestore.collection('users').snapshots()){
         for(var phon in snapshot.documents){
         name=(phon.data['Name']);
         print(name);
       }
   } 
}

То, что вы делаете, хранит String (phon.data['Name']) в List. У меня есть этот пример кода, который имеет String с именем name и теперь хранит строку name в phon.data['Name']. Вы также можете сделать наоборот.

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

Измените store=(phon.data['Name']) на store.add(phon.data['Name']) Вы пытаетесь присвоить одну строку (я полагаю, что это phon.data ['Name']) для объекта List.

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

Вы получаете эту ошибку, потому что в store=(phon.data['Name']); вы пытаетесь установить значение всего списка в виде строки. Вместо этого вы должны установить в качестве строки только значение одного из полей списков. Например store[phon]=(phon.data['Name']);

...