我想在下拉控件中显示富文本,我正在使用以下渲染器。
<?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标记,而不是标记所代表的内容。我完全失去任何帮助将不胜感激。
由于
答案 0 :(得分:0)
你使用什么控制? MX ComboBox或Spark DropDownList控件?还是Spark ComboBox?
由于你的itemRenderer混合了Halo和Spark组件,因此很难分辨。
在MX ComboBox中,您无法使用itemRenderer控制提示区域。它必须是纯文本。
在Spark ComboBox中,提示区域是您键入的实际输入。这样的ss不会显示HTMLText。
我怀疑Spark DropDownList控件与MX ComboBox具有相同的限制,其中提示不是使用itemRenderer创建的。
在所有情况下,如果您想要执行其他操作,则必须扩展组件。
所有这一切,你的itemRenderer不应该混合Halo和Spark组件。 HBox是多余的,只有一个项目。所以,摆脱它并用Spark ItemRenderer替换它。请使用dataChange事件,而不是绑定您的值。众所周知,这两件事都可以提高性能。