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

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

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

我的解决方案是为我想展示的每个 SpanElement 创建一个新的 ParagraphElement。它制造了两倍多的物体,但按照我的预期行事。

于 2012-06-15T15:19:56.427 回答