添加新行时,如何以编程方式滚动到Flex Spark Textarea的末尾?

Caq*_*aqu 6 apache-flex textarea

mx:TextArea的旧方法不再有效.特别:

myMxTextArea.verticalScrollPosition = myMxTextArea.maxVerticalScrollPosition;
Run Code Online (Sandbox Code Playgroud)

我已经为Spark发现了这种方法,但看起来有点笨拙:

mySparkTA.scrollToRange(mySparkTA.text.length-1, mySparkTA.text.length);
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来做到这一点?

jam*_*mix 6

假设你有

<s:TextArea id="ta" width="100%" height="100%" />
Run Code Online (Sandbox Code Playgroud)

以下将有效:

ta.scroller.verticalScrollBar.value = ta.scroller.verticalScrollBar.maximum;
Run Code Online (Sandbox Code Playgroud)

无需将TextArea包装在Scroller组件中.


J_A*_*A_X 2

这就是您使用 Spark textarea 的方式,但您始终可以尝试将其包装在 Scroller 组件中,而不会让 textarea 本身因滚动而烦恼:

<s:Scroller id="scroller">
   <s:TextArea id="ta" width="100%" height="100%" />
</s:Scroller>
Run Code Online (Sandbox Code Playgroud)

然后在 AS 中执行此操作:

scroller.verticalScrollBar.value = scroller.verticalScrollBar.maximum;
Run Code Online (Sandbox Code Playgroud)

没有其他简单的方法可以做到这一点。