どうも、ちょげ(@chogetarou)です。
Flutterの文字入力欄として使えるウェジェットは、「TextField」と「TextFormField」があります。
どちらも文字が入力できるのですが、どういった違いがあるのでしょうか?
違い

TextFieldとTextFormFieldの違いは、「目的」です。
TextFieldは単にユーザーからの入力を受け付けるためのウェジェットです。
これに対して、「TextFormField」は、フォーム(form)内でユーザーからの入力をさせるためのものです。
つまり、TextFormFieldは、Formウェジェットで使うためのものということになります。
使い分け

Formウェジェット内で使う場合には、TextFormFieldウェジェットを使います。
というのも、フォームでの保存、バリデート、リセットなどの機能を使う上では、TextFormFieldの方が圧倒的に便利だからです。
Formウェジェット外の簡易的なテキスト入力欄の場合は、TextFieldウェジェットを使います。
まとめ
TextFieldとTextFormFieldの違いは、「目的」です。
TextFieldはユーザーからの入力を受け付けるため、TextFormFieldはFormウェジェットで使うためのものです。
コメント