[Flutter]「TextField」と「TextFormField」の違い

Flutter

どうも、ちょげ(@chogetarou)です。

Flutterの文字入力欄として使えるウェジェットは、「TextField」と「TextFormField」があります。

どちらも文字が入力できるのですが、どういった違いがあるのでしょうか?

スポンサーリンク

違い

矢印, 道標, ウェイポイント, 方向, 右, 左, 方法, マーキング, 反対

TextFieldとTextFormFieldの違いは、「目的」です。

TextFieldは単にユーザーからの入力を受け付けるためのウェジェットです。

これに対して、「TextFormField」は、フォーム(form)内でユーザーからの入力をさせるためのものです。

つまり、TextFormFieldは、Formウェジェットで使うためのものということになります。

2つのウェジェットは目的が違うので、機能や使い方も違います。

TextFormFieldでは、フォームで必要な保存、リセット、バリデートなどの機能を持っています。

使い分け

インターフェース, インターネット, プログラム, ブラウザ, Www

Formウェジェット内で使う場合には、TextFormFieldウェジェットを使います。

というのも、フォームでの保存、バリデート、リセットなどの機能を使う上では、TextFormFieldの方が圧倒的に便利だからです。

Formウェジェット外の簡易的なテキスト入力欄の場合は、TextFieldウェジェットを使います。

まとめ

TextFieldとTextFormFieldの違いは、「目的」です。

TextFieldはユーザーからの入力を受け付けるため、TextFormFieldはFormウェジェットで使うためのものです。

コメント

タイトルとURLをコピーしました