我需要处理图表,然后将它们即时转换为正确的 unicode 表示。例如,当用户输入:
Sx
我的应用程序需要将其替换为:
Ŝ
现在,我已经能够进行替换,没有问题。但问题是,一旦我完成了替换,光标就会转到文本框的开头而不是结尾。当我试图即时更新用户的文本时,这显然是行不通的。
我怎样才能得到它,以便一旦我替换 TextInput 框中的文本,光标就在右侧而不是左侧?
我需要处理图表,然后将它们即时转换为正确的 unicode 表示。例如,当用户输入:
Sx
我的应用程序需要将其替换为:
Ŝ
现在,我已经能够进行替换,没有问题。但问题是,一旦我完成了替换,光标就会转到文本框的开头而不是结尾。当我试图即时更新用户的文本时,这显然是行不通的。
我怎样才能得到它,以便一旦我替换 TextInput 框中的文本,光标就在右侧而不是左侧?
找到了解决方案。
您所要做的不是更新整个文本,而是擦除当前内容,然后使用:
textInput.appendText()
希望这对其他人有帮助:)
setSelection 方法是设置光标的方式
textInput.setSelection(textInput.text.length, textInput.text.length);
您可以使用 获取当前选择的开头和选择TextInput.selectionAnchorPosition
的结尾TextInput.selectionAnchorPosition
看看这个 SO 问题:你如何以编程方式将 Flex TextArea 的插入符号移动到末尾?
如果您使用的是 textArea 那么这将起作用(来自所选答案):
textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
对于来这里寻求 Spark textInput 解决方案的人来说,方法如下:
textInput.selectRange(textInput.text.length, textInput.text.length);