Как получить значение из TextFormField на Flutter - PullRequest
0 голосов
/ 01 мая 2020

Я хотел бы получить входное значение из TextFormField. А потом я хочу взять его в Firebase.

Если у меня есть три TextFormField (last_name / first_name / birthday), как я могу получить эти значения и выбросить их в firebase?

enter image description here

  • Я уже подключился и получил значения из firebase.

Ответы [ 2 ]

1 голос
/ 01 мая 2020

Существует 2 способа в зависимости от вашего варианта использования:

  1. TextField виджет имеет метод обратного вызова onChange, который можно использовать для получения значения после изменения значения.

  2. TextField имеет свойство controller, к которому вы можете обратиться к экземпляру TextEditingController и использовать его позже там, где вам это нужно (например, при нажатии кнопки), например так textFieldController.text который содержит текущее значение textField

1 голос
/ 01 мая 2020

Вам необходимо использовать TextEditingController, например:

TextEditingController lastNameController = TextEditingController();
TextEditingController firstNameController = TextEditingController();
TextEditingController birthdayController = TextEditingController();

Затем внутри TextFormField:

child: TextFormField(
  controller: firstNameController,
  decoration: InputDecoration(
  labelText: "Enter First Name",
  enabledBorder: OutlineInputBorder(
  borderRadius: BorderRadius.circular(10.0),
 ),
 // The validator receives the text that the user has entered.
  validator: (value) {
  if (value.isEmpty) {
    return 'Enter last Name';
   }
return null;
   },
),

Создать 3 поля, назначить каждому controller к каждому полю. Затем для доступа к значению каждого controller необходимо использовать свойство text:

 DatabaseReference dbRef = FirebaseDatabase.instance.reference().child("Users");
 dbRef.child("id").set({
        "firstName": firstNameController.text
      })

Проверьте это:

https://flutter.dev/docs/cookbook/forms/retrieve-input

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