😌
TextFormFieldの値が入力できない
生じている現象
以下の方法で、TextFormFieldの値を管理している時に、
TextFormFieldに値を入力しようとしてもできませんでした。
・TextFormFieldの値をstateで保持
・onChangedで入力値のstateを更新する
文字を入力すると
キーボードが閉じて、入力した値も反映されない
メールアドレスのTextFormField
TextFormField(
onChanged: loginViewModel.changeLoginEmail,
hintText: "メールアドレス",
validator: (String? value) {
return validator.checkEmail(value);
},
)
onChangedの更新処理
/// ログインメールアドレスの更新
void changeLoginEmail(value) {
update((data) {
return data.copyWith(emailLogin: value);
});
}
解決策
formKeyの宣言を、
をWidget build(BuildContext context)の外で行うようにすることで解決しました。
final GlobalKey<FormState> formKey = GlobalKey<FormState>();
Widget build(BuildContext context) {
return Form(
key: formKey,
child: Center(
Discussion