1

次のテキストを既存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";

spark.components.TextAreaコンポーネントで表現された新しい TLF/FTE API を使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

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 の最初で唯一の段落で、すべてのオブジェクトを繰り返し処理していることがわかりますか?

これがお役に立てば幸いです。

于 2011-06-11T11:17:44.940 に答える
0

別の醜い方法は次のとおりです。 - 既存の 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);
于 2014-11-25T15:16:43.880 に答える