TextField 问题中的 TextSelection
Posted
技术标签:
【中文标题】TextField 问题中的 TextSelection【英文标题】:TextSelection in a TextField issue 【发布时间】:2019-02-01 19:20:09 【问题描述】:在使用TextSelection()
选择TextField
中的整个文本后,它确实选择了整个文本,但是在按下键盘上的一个键后,它开始将按下的字母/数字添加到文本的开头而不是删除旧的并用新输入的字母/数字替换它。
这是预期的行为吗?如果是这样,有什么方法可以通过编程方式选择文本,然后在按下键盘上的键时替换它?
这就是我选择文本的方式:
manualEditorNode.addListener(()
if (manualEditorNode.hasFocus)
manualInputController.selection = TextSelection(
baseOffset: 0, extentOffset: manualInputController.text.length);
);
【问题讨论】:
Id 创建错误报告。如果您首先检查您是否仍然可以在master
频道中重现,那就太好了。
@GünterZöchbauer 我目前在master
频道。我应该试试dev
频道吗?
不,如果它在master
中不起作用,只需在flutter doctor -v
的输出中创建一个问题
【参考方案1】:
以下内容适用于我的程序。也许你可以试试这样的东西?
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;
);
【讨论】:
以上是关于TextField 问题中的 TextSelection的主要内容,如果未能解决你的问题,请参考以下文章
在 Flutter 中导航后无法关注新页面中的 TextField