1

我正在使用一个 Flex 4 mxml 文件,该文件将 textFlow 用于 RichEditableText,如下所示:

<s:RichEditableText>
    <s:textFlow>
        <s:TextFlow>
            <s:p>Here is your result: {myVariable}</s:p>
        </s:TextFlow>
    </s:textFlow>
</s:RichEditableText>

myVariable 从中间层返回,等于字符“a”、“b”或“c”。但是由于我需要根据字符是什么来显示一条消息,所以我想调用一个 actionscript 函数来解码 myVariable。例如:

private function myFunction(myVariable):String {
  if (myVariable=="a") 
      myMsg = "You selected letter a";
  else if (myVariable=="b")
      myMsg = "You selected letter b";
  else
      myMsg = "You selected letter c";
  return myMsg;
}

我不知道该怎么做,但我尝试了以下方法:

<s:RichEditableText>
    <s:textFlow>
        <s:TextFlow>
             <s:p>Here is your result: {myFunction(myVariable)}</s:p>
        </s:TextFlow>
    </s:textFlow>
</s:RichEditableText>

尽管它编译并运行良好,但结果是——什么都没有显示,甚至没有显示Here is your result:文本。

知道如何实现这一目标吗?或者,如果无法从内部调用 actionscript 函数<s:p> ... </s:p>,那么是否可以使用内联(有时称为速记) if/then/else actionscript 语句来实现?

感谢您的任何评论。

4

1 回答 1

2

您可以动态添加文本。请参阅此链接http://blog.flexexamples.com/2009/10/09/dynamically-adding-paragraphs-to-a-spark-richtext-control-in-flex-4/

于 2012-06-20T01:32:28.570 回答