我创建了一个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!
答案 0 :(得分:0)
我找到了答案。希望这会帮助其他人更快地找到它。
在我的应用程序中,我实际创建了多个SpanElements并将它们添加到一个段落中。当试图改变其中一个元素时,值会改变但不会反映出来。 ParagraphElement将所有SpanElements组合成一个(新)元素,因此我对我创建的SpanElement的引用实际上并没有被使用。
我的解决方案是为我想要显示的每个SpanElement创建一个新的ParagraphElement。它产生的对象数量是原来的两倍,但却按照我的预期行事。