附加流动到现有TextFlow的?(Append a flow to an existing Tex

2019-09-28 05:46发布

我在寻找简单以下文本追加到现有spark.components.TextArea的文本流:

<b>something</b>: hello world

我尝试这个使用下面的代码来执行,但没有任何反应:

this.textarea.textFlow.addChild(TextConverter.importToFlow(
        "<b>something</b>: hello world", 
        TextConverter.TEXT_FIELD_HTML_FORMAT));

我怎样才能做到这一点? 我知道在旧mx.controls.TextArea组件,我可以简单地这样做:

this.textarea.htmlText += "<b>something</b>: hello world";

我怎样才能做到这一点,在表达新的TLF / FTE API spark.components.TextArea组件?

Answer 1:

我明白这一个你的痛苦。 这是我想出了解决方法:

var tf:TextFlow = TextConverter.importToFlow("<b>something</b>: hello world", TextConverter.TEXT_FIELD_HTML_FORMAT);
var pe:ParagraphElement = tf.mxmlChildren[0];
for each (var fe:FlowElement in pe.mxmlChildren)
    some_paragraph_element.addChild(fe);

最后,你需要抢在生成TextFlow中的所有对象。 为简单起见,我不这样做,在这里。 但是,你看怎么样我还是遍历所有对象在生成的TextFlow中的第一个也是唯一款?

希望这有助于和好运。



Answer 2:

另一个和丑陋的方式做可能是: - 导出现有TextFlow导入HTML字符串。 - 附加到另一个HTML字符串 - 重新导入结果

var helloWorldStr : String = "<b>something</b>: hello world";
var export : Object = TextConverter.export(textFlow,TextConverter.TEXT_FIELD_HTML_FORMAT, ConversionType.STRING_TYPE);
textFlow = TextConverter.importToFlow((export as String) + helloWorldStr, TextConverter.TEXT_FIELD_HTML_FORMAT);


文章来源: Append a flow to an existing TextFlow?