発生していた不具合
TextFormFieldに入力するたびにカーソルの位置が最初に戻ってしまう現象が発生していました。
原因
入力ごとに毎回初期値が変更されたとみなされ、カーソルの位置が初期状態に戻ってしまっていた。
修正方法
初期値入力時に、テキスト情報に併せて、offset情報も渡す。
コード例
controller: TextEditingController.fromValue(
TextEditingValue(
text: initialString ?? "",
selection: TextSelection.collapsed(offset:
initialString?.length ?? 0),
),
),
参考記事