Я создаю проект с flutter и firestore. Это проект домашней автоматизации. В этом проекте у меня есть много карточек, которые могут включать и выключать вещи, в настоящее время для каждого пользователя я создал 3 основные карточки, которые создаются при регистрации.
Что я пытаюсь сделать do прямо сейчас - с помощью кнопки ДОБАВИТЬ я создам еще одну карточку с информацией, которую пользователь хочет установить для этой карточки. Мне удалось создать информацию в моем хранилище пожаров, но пользователь не может выбрать, что на нем происходит. Вот что я пытаюсь исправить прямо сейчас. Итак, когда пользователь нажимает кнопку ДОБАВИТЬ, я создаю AlertDialog, в который он может поместить свою информацию для создания новой кнопки . Я пытался создать AlertDialog, но я не знаю, почему, когда я пытаюсь установить для него больше текстовых полей (мне понадобится 4), это не сработает. И с помощью этого AlertDialog я создал Future, который должен был вернуть список, но, похоже, работает только со строкой.
Это код для диалогового окна:
Future<String> createAlertDialog(BuildContext context){
TextEditingController customController = TextEditingController();
return showDialog(context: context, builder: (context){
return AlertDialog(
title: Text('Text'),
content: TextField(
controller: customController,
),
actions: <Widget>[
MaterialButton(
elevation: 5.0,
child: Text("OK"),
onPressed: (){
Navigator.of(context).pop(customController.text.toString());
},
)
],
);
});
}
Когда пользователь вводит свою информацию вот как я собрал то, что он набрал:
createAlertDialog(context).then((value){
print(value);
});
Позже я вставлю данные этого списка в firestore, это пример:
Firestore.instance.collection('dadosusuarios').document(user.uid)
.collection('buttons').document('button'+ cardamount.toString()).setData({
'activelabel': ListFromAlert[0],
'icondata': ListFromAlert[1],
'inactivelabel': ListFromAlert[2],
'text': ListFromAlert[3]
});
Если есть способ создать диалоговое окно с предупреждением, которое я мог бы настроить, чтобы установить больше текстовых полей и по-разному позиционировать материал, пожалуйста, предложите. Спасибо