【Flutter】 TextFieldに初期値を設定する方法を解説

Flutter

今回は、FlutterのTextFieldウィジェットに初期値を設定する方法を解説します。

簡単に実装できますのでぜひ最後までご覧ください。

スポンサーリンク

TextFieldに初期値を設定する方法

TextField」ウィジェットは入力欄を作成することができるウィジェットです。

その「TextField」ウィジェットの入力欄にあらかじめ値が入力されている状態にする方法を解説します。

まずは簡単な入力欄のあるUIを作成してみましょう。

サンプルコードは以下です。

class Test extends StatefulWidget {
  const Test({Key? key}) : super(key: key);

  @override
  _TestState createState() => _TestState();
}

class _TestState extends State<Test> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('TextFieldの初期値を設定'),),
      body: Center(
        child: TextField(),
      ),
    );
  }
}

こちらのTestクラスを表示すると以下のような入力欄のあるUIになります。

こちらに初期値を設定できるようにするには変数を定義する必要があります。

_TestStateクラスの中に以下の変数を定義します。

TextEditingController _controller = TextEditingController(text: 'TextFieldの初期値');

このように「TextEditingController」の「text」プロパティに初期値にしたい値を入力することで初期値を設定することができます。

最後に、「TextField」ウィジェットの「controller」プロパティに先ほど定義した_controllerという変数を設定することで初期値の設定は完了です。

完成後のコードはこちら。

class Test extends StatefulWidget {
  const Test({Key key}) : super(key: key);

  @override
  _TestState createState() => _TestState();
}

class _TestState extends State<Test> {
  TextEditingController _controller = TextEditingController(text: 'TextFieldの初期値');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('TextFieldの初期値を設定'),),
      body: Center(
        child: TextField(
          controller: _controller,
        ),
      ),
    );
  }
}

UIはこのようになります。

おわりに

今回は、FlutterのTextFieldウィジェットに初期値を設定する方法を解説させていただきました。

入力欄にあらかじめ初期値を設定したい場面はよくあるかと思います。

例えば、ユーザーの情報を編集する画面で今登録している内容を初期値として設定することで、ユーザーは登録している内容から直接編集を始めることができるようになります。このようなUIのアプリはよくあります。

こちらを実装するには今回の知識が役に立つかと思います。

当ブログでは他にもFlutterの学習に関する記事を執筆しております。

初心者の方におすすめの「Dartの基礎知識、配列を理解する」といった内容の記事も上げておりますので、興味がありましたら合わせてご覧ください。

最後まで読んでくださりありがとうございました。

コメント

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