[英]issue in using flex dropdownlist with itemrenderer
我试图通过扩展下拉列表来创建多选下拉列表
private var COLOR_ARRAY:Array=
[{label:"Red", data:"#FF0000"},
{label:"Green", data:"#00FF00"},
{label:"Blue", data:"#0000FF"}];
[Bindable]
public var colorAC:ArrayCollection;
private function initData():void {
colorAC=new ArrayCollection(COLOR_ARRAY);
}
]]>
</fx:Script>
<local:MultiSelectionDropDown
width="300"
requireSelection="false"
itemRenderer="MultiSelectItemRenderer"
skinClass="MultiSelectionDropDownListSkin"
dataProvider="{colorAC}"
labelField="label"
/>
以下是我的渲染器代码
<s:HGroup width="100%" verticalAlign="middle">
<s:RichText id="labelDisplay"
text="{data}"
textAlign="left"
styleName="listItem"
verticalAlign="middle"
lineBreak="toFit"
paddingTop="10"
paddingBottom="10"
color.hovered ="0xffffff"
color.selected="0xffffff"
paddingLeft="10"
paddingRight="10"
horizontalCenter="0" verticalCenter="1">
</s:RichText>
<mx:Spacer width="100%" />
<s:CheckBox id="checkbox" />
</s:HGroup>
我无法在下拉列表中显示标签..我在这里得到的是[对象] ...无法弄清楚我做错了什么
那是因为您将文本设置为数据对象。
text="{data}"
RichText所做的是在该对象上调用toString()方法,因此结果在“对象对象”中。 例如,您需要指定应该用于标签显示的数据的属性
text="{data.title}"
您还可以覆盖值对象中的toString()方法,并返回需要显示的任何字符串。
override public toString():String
{
return "foobar";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.