0

Flex TextArea を作成しました。ActionScript で ParagraphElement を作成し、次に Span 要素を次のように作成します。

<s:TextArea id="te"/>

...

pe = new ParagraphElement();
se = new SpanElement();

se.text = "banana";
pe.addChild(se);
te.addChild(pe);

すべてがうまくいくようです。ステージにバナナが見えます。後で se (クラス変数) の値を更新しようとしましたが、変更がステージに反映されません。

se.text = "apple";

また

se.replaceText(0, se.text.length, "apple");

SpanElement を更新できるようにする必要があります。

4

1 に答える 1

0

私は自分の答えを見つけました。うまくいけば、これは他の人がそれをより速く見つけるのに役立ちます.

私のアプリでは、実際に複数の SpanElements を作成し、それらを 1 つの段落に追加していました。これらの要素の 1 つを変更しようとすると、値は変更されますが、反映されません。ParagraphElement はこれらすべての SpanElements を 1 つの (新しい) 要素に結合していたため、作成した SpanElement への参照は実際には使用されなくなりました。

私の解決策は、表示したいすべての SpanElement に対して新しい ParagraphElement を作成することでした。2 倍のオブジェクトを作成しますが、期待どおりに動作します。

于 2012-06-15T15:19:56.427 に答える