2009-03-03 6 views
0

Les écrans suivants un ComboBox avec le texte "Sélectionnez un":Puis-je utiliser une chaîne pouvant être liée pour une invite ComboBox?

** C'est un code pseudo *

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:ComboBox prompt="Select One"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Object label="Obj 1" /> 
       <mx:Object label="Obj 2" /> 
       <mx:Object label="Obj 3" /> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:ComboBox> 
</mx:Application> 

Cependant, les écrans suivants un ComboBox avec le texte "Obj 1" (l'étiquette du premier article):

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Script> 
     <![CDATA[ 
      [Bindable] 
      private var promptText:String = "Select One"; 
     ]]> 
    </mx:Script> 

    <mx:ComboBox prompt="{promptText}"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Object label="Obj 1" /> 
       <mx:Object label="Obj 2" /> 
       <mx:Object label="Obj 3" /> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:ComboBox> 
</mx:Application> 

Pourquoi ne puis-je pas utiliser une chaîne Bindable pour l'invite ???

Répondre

0

Cela a fonctionné:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Script> 
     <![CDATA[ 
      [Bindable] 
      private var promptText:String = "Select One"; 
     ]]> 
    </mx:Script> 

    <mx:ComboBox selectedIndex="-1" prompt="{promptText}"> 
     <mx:dataProvider> 
      <mx:Array> 
       <mx:Object label="Obj 1" /> 
       <mx:Object label="Obj 2" /> 
       <mx:Object label="Obj 3" /> 
      </mx:Array> 
     </mx:dataProvider> 
    </mx:ComboBox> 
</mx:Application> 

Je ne peux pas comprendre pourquoi je dois définir explicitement selectedIndex à -1, mais ça marche!

+0

La liaison se produit un peu plus tard que la création du composant. Je devine que ComboBox par défaut de sélectionner le premier élément si vous ne spécifiez pas une invite. Ainsi, la ComboBox est créée, elle valide et choisit le premier élément, puis la liaison entre en jeu. – joshtynjala

+0

Oui, cela a du sens. –

Questions connexes