如何更新TextFlow.paragraph.span对象并使其反映在视图上?

时间:2012-06-15 14:18:33

标签: flash flex

我创建了一个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";

OR

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

我真的需要能够更新SpanElement!

1 个答案:

答案 0 :(得分:0)

我找到了答案。希望这会帮助其他人更快地找到它。

在我的应用程序中,我实际创建了多个SpanElements并将它们添加到一个段落中。当试图改变其中一个元素时,值会改变但不会反映出来。 ParagraphElement将所有SpanElements组合成一个(新)元素,因此我对我创建的SpanElement的引用实际上并没有被使用。

我的解决方案是为我想要显示的每个SpanElement创建一个新的ParagraphElement。它产生的对象数量是原来的两倍,但却按照我的预期行事。