FlutterのTextEditingController
TextEditingController は TextField と TextFormField を制御できるコントローラーです。主に以下の機能があります。
- TextField/TextFormField のテキスト コンテンツを読み取り、変更します。テキストはcontroller.textを通じて取得でき、テキストはcontroller.text = 'new text'を通じて設定できます。
- TextField/TextFormField のテキストの変更を監視します。controller.addListener() を通じて、controller.text の変更を監視して、他の UI を更新したり、特定の操作を実行したりできます。
- TextField/TextFormFieldのカーソルと選択位置を管理します。カーソル位置はcontroller.selectionとcontroller.selection=で取得・設定できます。
- TextField/TextFormField のフォーカスを制御します。フォーカスはcontroller.requestFocus()を通じてリクエストでき、フォーカスはcontroller.unfocus()を通じて放棄できます。
例
TextEditingController _controller = TextEditingController();
TextField(
controller: _controller, //引入
)
// 监听文字变化
_controller.addListener(() {
print(_controller.text);
});
// 获取TextField内容
String content = _controller.text;
// 设置TextField内容
_controller.text = '新内容';