2010-10-29 21 views
1

我想在下拉控件中顯示豐富的文本,爲此我使用以下的渲染器。使用DropDown控件的Flex退出問題

<?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

您使用的是什麼控件?一個MX組合框或一個Spark DropDownList控件?還是Spark組合框?

由於itemRenderer混合了Halo和Spark組件,因此很難說清楚。

在MX ComboBox中,無法使用itemRenderer控制提示區域。它需要是純文本。

在Spark ComboBox中,提示區域是您鍵入的實際輸入。 Ss等不會顯示HTMLText。

我懷疑Spark DropDownList控件與MX ComboBox具有相同的限制,其中提示不是使用itemRenderer創建的。

在所有情況下,如果您想做其他事情,您將不得不擴展組件。

所有這一切,你的itemRenderer不應該混合暈和星火組件。 HBox是多餘的,只有一個項目。所以,擺脫這一點,並用Spark ItemRenderer替換它。而不是綁定你的價值,使用dataChange事件。這些東西都可以提高性能。

More info about creating Spark Renderers.

+0

謝謝你的提示,我沒有真正改變渲染引發渲染,但問題仍然存在,我認爲你是正確的,該提示區是沒有得到通過的itemRenderer,但用一個簡單的TextInput控件呈現。擴展控制似乎是唯一的解決方案。 – Arslan 2010-10-29 21:32:15

+0

以下鏈接幫助我擴展組合框 http://stackoverflow.com/questions/269773/flex-custom-item-renderer-for-the-displayed-item-in-the-combobox/280859#280859 – Arslan 2010-11-03 11:42:12