Добавить поток в существующий TextFlow?

Я хочу просто добавить следующий текст к существующему текстовому потоку 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";

Как это сделать с помощью нового API TLF/FTE, выраженного в компоненте spark.components.TextArea?


person Naftuli Kay    schedule 16.05.2011    source источник


Ответы (2)


Я понимаю твою боль с этим. Это обходной путь, который я придумал:

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?

Надеюсь, что это помогает и удачи.

person Community    schedule 11.06.2011

Другим и некрасивым способом может быть: - Экспорт существующего 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);
person Cédric Levasseur    schedule 25.11.2014