这个是在bindable经常会碰到的警告,虽然是警告.但也要弄清楚.
These warnings are there because if you have some code that modifies the individual fields of selectedItem, the binding mechanism will not be able to detect them. A better way to write this would be to create separate variables for the two values:
<?xml version="1.0"?>
<!-- Simple example to demonstrate the ComboBox control. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
[Bindable]
public var cards: Array = [ {label:"Visa", data:1},
{label:"MasterCard", data:2}, {label:"American Express", data:3} ];
[Bindable]
public var selectedItemLabel:String = "";
[Bindable]
public var selectedItemData:String = "";
private function closeHandler(event:Event):void
{
selectedItemLabel=ComboBox(event.target).selectedItem.label;
selectedItemData=ComboBox(event.target).selectedItem.data;
}
]]>
</mx:Script>
<mx:Panel title="ComboBox Control Example"
height="75%" width="75%" layout="horizontal"
paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
<mx:ComboBox dataProvider="{cards}" width="150"
close="closeHandler(event);"/>
<mx:VBox width="250">
<mx:Text width="200" color="blue" text="Select a type of credit card."/>
<mx:Label text="You selected: {selectedItemLabel}"/>
<mx:Label text="Data: {selectedItemData}"/>
</mx:VBox>
</mx:Panel>
</mx:Application>