У меня странная проблема с прокруткой TextArea во Flex 4.1. Рассмотрим следующий код, чтобы показать ¶ в конце строки содержимого TextArea:
[Bindable]
public var text:String;
public var applied:Boolean = false;
protected function apply(event:MouseEvent):void
{
if (!applied)
{
text = text.replace(/\n/g,"¶\n");
applied = true;
}
else
{
text = text.replace(/¶\n/g, "\n");
applied = false;
}
}
...
<s:VGroup>
<s:TextArea height="200" width="200" text="@{text}"/>
<s:Button enabled="true" label="go!" click="apply(event)"/>
</s:VGroup>
Когда я нажимаю кнопку в первый раз, к тексту добавляются подушки. Я только за исключением перемещения нескольких строк из-за переноса слов, но TextArea делает слишком большой «прыжок» в очень отдаленное место в тексте. Кажется, что это проблема в компоненте - иногда переход является событием в начале содержащегося текста. Если впоследствии я добавлю или уберу подушку с помощью кнопки, прокрутка будет в порядке.
Есть ли у вас какие-либо идеи, как я могу выполнять регулярные выражения для замены текста TextArea, не испытывая таких странных скачков вокруг содержимого?
Заранее спасибо!