Flex DropDownList ItemRenderer可能是个bug

时间:2011-05-29 17:28:01

标签: flex actionscript-3 drop-down-menu itemrenderer

我试图通过扩展它的项目渲染器对Flex 4.5 Spark DropDownL的外观进行简单的更改,无论如何,即使是刚刚闪亮的新项目渲染器也会将标签为空白的项目带给我。 如果我删除渲染器一切都很好,但有了它 - 项目是空白的。

<s:DropDownList id="cbX" x="140" y="281" width="276" itemRenderer="comboItemRenderer" labelField="@text">
    <mx:XMLListCollection>
        <fx:XMLList>
            <node text="1" />
            <node text="2" />
            <node text="3" />
        </fx:XMLList>
    </mx:XMLListCollection>
</s:DropDownList>

项目渲染器:

<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark" 
                xmlns:mx="library://ns.adobe.com/flex/mx" 
                autoDrawBackground="true">

    <s:Label text="{data}"/>

</s:ItemRenderer>

这是一个错误,还是我做错了?

1 个答案:

答案 0 :(得分:3)

尝试使用:

<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark" 
                xmlns:mx="library://ns.adobe.com/flex/mx" 
                autoDrawBackground="true">

    <s:Label text="{label}"/>

</s:ItemRenderer>

渲染器的数据仍然是数据。但是如果使用labelField,则依赖于List的标签计算例程。所以只需显示它。