在flutter開發中,加載某一段文字後需要對該文字進行更改的時候,使用controller設置默認值,這個時候光標會在文字的最前面,設置selection改變光標位置到最後,但是在編輯的時候刪除以前的文字中的某個位置的字符光標會返回到文段末尾。不使用onChanged事件接收文本數據。
解決辦法:1,設置controller
controller: TextEditingController
.fromValue(
TextEditingValue(
text: f.remarkResult ?? "",
selection:TextSelection.fromPosition(
TextPosition(
affinity:TextAffinity.downstream,
offset: f.remarkResult == null
? 0
: f.remarkResult.length,
))
)
),
2,使用onSubmitted事件
onSubmitted: (value){
this.setState(() {
f.remarkResult = value;
});
},
3,設置提交按鈕類型
textInputAction: TextInputAction.go,