Мне удалось создать динамическую анкету, связывающую флаттер с Firestore.
Мои пользовательские Вопрос виджеты - это просто Text (), содержащий строку вопроса, и Slider () чтобы пользователь мог дать ответ от 1 до 5
Теперь, когда отображаются вопросы, как мне получить значения?
Вот мой код:
var questions = <Widget>[];
//Async read to the DB
Future query() async {
var snap = await Firestore.instance
.collection("Forms")
.document(formID)
.get();
var arr = <Widget>[]; //just a temp holder of the widgets
for(String q in list){
arr.add(Question(min: 1.0, max: 5.0, question: q, value: 1.0,));
}
setState(() {
questions = arr;
});
}
И затем в сборке я рендеринг:
Scaffold(
body:Container(
child:Column(
children: <Widget>[
Text("Title"),
Column(
children: questions,
),
RaisedButton(
onPressed: () => sendFeedback(),
color: Colors.redAccent,
textColor: Colors.white,
child: Text("Send")
]
)
Каким будет код для функции sendFeedback ()?Я хотел бы получить значения для всех ползунков в моем списке children , а затем записать их в Firestore всего за один вызов в БД.