在使用TextSelection()选择TextField中的整个文本后,它确实会选择整个文本,但在按下键盘上的某个键后,它会开始在文本的开头添加按下的字母/数字,而不是删除旧的字母/数字并将其替换为新键入的字母/数字。
这是预期的行为吗?如果是这样,有没有什么方法可以通过编程选择文本,然后在按下键盘上的某个键时替换它?
下面是我选择文本的方式:
manualEditorNode.addListener(() {
if (manualEditorNode.hasFocus) {
manualInputController.selection = TextSelection(
baseOffset: 0, extentOffset: manualInputController.text.length);
}
});发布于 2018-08-28 12:58:25
在我的程序中,以下方法适用于我。也许你可以试试这样的东西?
var cursorPos = textInputController.selection;
setState(() {
textInputController.text = newInput;
if (cursorPos.start > newInput.length) {
cursorPos = new TextSelection.fromPosition(
new TextPosition(offset: newInput.length));
}
textInputController.selection = cursorPos;
});https://stackoverflow.com/questions/52036157
复制相似问题