1

我想在下拉控件中显示富文本,为此我使用以下渲染器。

<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx">
  <fx:Script>
  <![CDATA[
  import spark.utils.TextFlowUtil;
  ]]>
  </fx:Script>
  <s:TextArea textFlow="{TextFlowUtil.importFromXML(new XML(data))}"/>
</mx:HBox>

渲染器在下拉列表中正确显示 html 文本,但在最顶部的选项(选定项)中显示整个 HTML 标记而不是标记所代表的内容。我完全失去了任何帮助将不胜感激。

谢谢

4

1 回答 1

0

你用的是什么控件?MX ComboBox 还是 Spark DropDownList 控件?还是 Spark 组合框?

由于您的 itemRenderer 混合了 Halo 和 Spark 组件,因此很难分辨。

在 MX ComboBox 中,您无法使用 itemRenderer 控制提示区域。它必须是纯文本。

在 Spark ComboBox 中,提示区域是您输入的实际输入。ss 这样就不会显示 HTMLText。

我怀疑 Spark DropDownList 控件与 MX ComboBox 具有相同的限制,其中提示不是使用您的 itemRenderer 创建的。

在所有情况下,如果您想做其他事情,您都必须扩展组件。

综上所述,您的 itemRenderer 不应该混合 Halo 和 Spark 组件。HBox 是多余的,里面只有一个项目。因此,摆脱它并用 Spark ItemRenderer 替换它。不要绑定您的值,而是使用 dataChange 事件。众所周知,这两件事都可以提高性能。

有关创建 Spark 渲染器的更多信息。

于 2010-10-29T13:55:14.683 回答