最近因為寫到一些與log相關的程式,想要在TextArea中呈現log資訊,這邊提供一個方法,讓你可以在log更新時,scrollbar也自動往下拉到最底
關鍵的就是TextArea中的valueCommit event,如果你抓的是change event,只有在使用者操作UI時會發生,若TextArea是程式內部去負責更新,則不會有change event
所以要換成valueCommit,不論是程式更新或使用者操作都會發生事件
Dispatched when values are changed programmatically or by user interaction.
不過這個方法似乎會在wordwrap = true的時候有些問題…有時候沒有完全置底,原因是UI會在格子"將要"爆掉時,先秀出scrollbar來"準備"…真詭異
Example:
<mx:TextArea id="log" editable="false" valueCommit="{log.verticalScrollPosition = log.maxVerticalScrollPosition}"/>