Flutter

Flutter TextEditingControllerの使い方|入力値の取得とdispose

FlutterのTextEditingControllerを初心者向けに解説します。初期値、入力値取得、clear、dispose、TextFieldとの組み合わせを整理します。

この記事の目次
  1. この記事の結論
  2. Controllerを作る
  3. TextFieldへ渡す
  4. 値を取得して破棄する
  5. 実装後に確認すること
  6. よくあるつまずき
  7. 次に読む記事
  8. まとめ

TextEditingControllerは、TextFieldの入力値をコード側から読んだり変更したりするためのクラスです。

この記事の結論

入力値を送信時にまとめて読みたい場合や初期値を入れたい場合に使います。使い終わったらdisposeします。

Controllerを作る

StatefulWidgetのStateに置きます。

final controller = TextEditingController();

TextFieldへ渡す

controllerプロパティへ指定します。

TextField(
  controller: controller,
  decoration: const InputDecoration(labelText: "名前"),
)

値を取得して破棄する

textで値を読み、disposeで解放します。

print(controller.text);

@override
void dispose() {
  controller.dispose();
  super.dispose();
}

実装後に確認すること

  • 画面上で余白や入力が意図通りか確認したか
  • 小さい画面で崩れないか確認したか
  • 状態管理や画面遷移の責務を混ぜすぎていないか
  • 関連するWidgetとの使い分けを説明できるか

よくあるつまずき

  • 便利なWidgetに役割を詰め込みすぎる
  • 固定サイズや固定余白だけで作る
  • 入力値の破棄やバリデーションを忘れる
  • ListViewやGridViewをColumn内で高さ指定なしに置く

次に読む記事

まとめ

Flutter TextEditingControllerはFlutter UIを作るうえでよく使う基本です。最小コードで動きを確認し、関連Widgetと使い分けながら画面を組み立てましょう。