2010-03-18 8 views
0

J'écris une application Flex et je suis tombé sur ce que je pense est un problème étrange. Je veux créer une boîte de texte et un DateChooser car le champ Date n'a pas fait ce que je voulais et c'est Halo, donc je ne peux pas l'habiller facilement. Je veux que le DateChooser s'affiche lorsque je clique sur la saisie de texte. Voici un sauf de mon code:DateChooser mise à jour correctement seulement si visible au début

<s:TextInput id="wholeDate" width="100" 
       mouseOver="stopChangeToNormal();" 
       paddingRight="10" 
       click="date1.visible = true" 
       focusOut="date1.visible = false"/> 
    <s:Button label="Go" width="70" /> 
</s:Panel> 

<mx:DateChooser id="date1" 
       visible = "false" 
       change="useDate(event);" 
       mouseOver="changeToNormalState = false;" 
       y="{wholeDate.y + buttonsGroup.y + 20}" 
       x="{wholeDate.x + buttonsGroup.x - 175 }" />  

La chose étrange est que cela fonctionne si je fais visible = "true" pour commencer, mais si je l'ai visible="false" cela ne fonctionne pas! Cela se voit, mais la date que je sélectionne n'apparaît pas dans la boîte comme si je l'avais comme visible="true", mais je ne veux pas qu'elle soit visible au début.

Des idées?

Répondre

1

Je ne pense pas que ce soit réellement quelque chose à voir avec la visibilité initiale du DateChooser. Avez-vous vérifié que vos gestionnaires d'événements sont effectivement appelés, et dans un ordre logique? Le problème semble être que lorsque vous essayez de faire une sélection dans le DateChooser, le TextInput obtient un événement focusOut, qui masque le DateChooser, ce qui l'empêche apparemment de recevoir l'événement de sélection. Je pense que vous devez être plus sélectif quand vous cachez le DateChooser. Peut-être avez-vous besoin de différer la clandestinité pour avoir une chance de répondre à la sélection en premier.

+0

Vous avez encore raison lach! c'était le problème de focusOut. Je l'ai enlevé du TextInput et cela a fonctionné. Oui, l'événement n'a pas été appelé du tout. Merci beaucoup – Tam

Questions connexes