TextFormFieldから入力値を取得したいと思います。それから私はそれをFirebaseに取りたいです。
3つのTextFormField(last_name/first_name /誕生日)がある場合は、これらの値を取得してFireBaseに投げることができますか?
次のように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
})
_
これをチェックして:
あなたのユースケースに応じて2つの方法があります。
TextField
ウィジェットには、値が変更されると、値が変更されるために使用できるコールバックメソッドonChange
があります。
TextField
には、controller
インスタンスを実行し、必要な場所(たとえばボタンのクリックなど)を使用できるプロパティTextEditingController
があり、テキストフィールドの現在の値が保持されているtextFieldController.text