如何在Flex4.5中控制TextInput中的光标(克拉)位置

ndh0cuux  于 2022-09-21  发布在  Apache
关注(0)|答案(4)|浏览(155)

我需要处理图表,然后将它们动态转换为正确的Unicode表示形式。例如,当用户键入:

Sx

我的应用程序需要将其替换为:

Ŝ

现在,我已经可以进行更换了,没有问题。但问题是,一旦我完成了替换,光标就会移到文本框的开头,而不是结尾。当我试图动态更新用户的文本时,这显然不起作用。

如何才能使我在替换TextInput框中的文本后,光标位于右侧而不是左侧?

k4ymrczo

k4ymrczo1#

找到了解决方案。

您所要做的不是更新整个文本,而是擦除当前内容,然后使用:

textInput.appendText()

希望这能帮助其他人:)

lh80um4z

lh80um4z2#

设置游标的方式是使用setSelection方法

textInput.setSelection(textInput.text.length, textInput.text.length);

您可以使用TextInput.selectionAnchorPosition获取当前选择的开始,使用TextInput.selectionAnchorPosition获取选择的结束

klr1opcd

klr1opcd3#

看一下这个问题:How do you programmatically move the caret of a Flex TextArea to the end?

如果您使用的是文本区域,则这将起作用(从所选答案):

textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
qojgxg4l

qojgxg4l4#

对于来这里寻找Spark TextInput解决方案的人来说,这是一种方式:

textInput.selectRange(textInput.text.length, textInput.text.length);

相关问题