В моей Firebase у меня есть коллекция 'GS' с +10 полями в ней. Я перечислил эти поля с кодом ниже. Моя цель - позволить пользователю выбрать одно из полей и показать, какое поле выбрано.
StreamBuilder(
stream: Firestore.instance.collection('GS').snapshots(),
builder: (context, snapshot){
if(!snapshot.hasData) return Text('Loading data');
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
ListTile(
leading: Image.asset("assets/GS.png",
scale: 5.0,),
onTap: (){Navigator.pop(context, Answers.GS);}, //Answers.GS will be selected.
title: Text(snapshot.data.documents[0]['man'], //A string from database. After selection, I would like to show this string.
),
),
],
);
},
),
Когда пользователь выбирает элемент из списка, я хотел бы показать его. Моя структура работает. Но не удалось добиться, чтобы показать выбранное поле. Я хотел бы обновить приведенный ниже код _setValue(//here)
, получая данные из firebase:
{
case Answers.GS:
_setValue('Selected string from database'); //I just want to update this code with what is written inside "man" in Firebase.
break;
}
Скажем, в Firebase в разделе «человек» написано «Я люблю Флаттер». Я хотел бы показать это.
В качестве резюме: я хотел бы сделать что-то подобное _setValue(snapshot.data.documents[0]['man'])
. Очевидно, я получаю сообщение об ошибке.
Спасибо!