Flex 4.1のTextAreaのスクロール動作に奇妙な問題があります。 TextAreaのコンテンツの行末に¶を表示するには、次のコードを考えてみましょう:sの内容をチェーニングした後、奇妙なスクロール: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>
私が初めてボタンを押すとpilcrowsがテキストに追加されます。私は単語の折り返しのために少数の行の移動を見ることを除いて、TextAreaはテキストの非常に離れた場所に大きすぎる "ジャンプ"を行います。これはコンポーネントの問題であると思われます。ジャンプは、含まれているテキストの先頭のイベントです。後でボタンを使ってピルクローを追加したり削除したりすると、スクロールが正常であるように見えます。
コンテンツの周りに奇妙なジャンプを経験することなく、TextAreaのテキストの正規表現をどのように置き換えることができますか? ありがとうございます!
なぜ私はあなたがなぜダブルバインディング 'テキスト'なのかよく分かりません。つまり、元のテキストを直接変更し、ピルクローをテキストに追加します。ピルクローはビジュアルヘルパーとしてのみ存在する必要があります。個人的には、これはピルクローを追加する適切な方法だとは思わないし、その機能を持つカスタムテキストエリアを作成する方法もあります(既にWeb上に1つもない場合)。 –