2011-06-14 6 views
0

ici est mon datefield:flex 4 datefield ne distribue pas l'événement clair

<mx:DateField id="date" 
    formatString="DD-MM-YYYY" selectableRange="{DTselectableRange}" 
    change="handleChange()" editable="true" clear="dateCleared(event)"/> 

je veux détecter événement clair, adobe ref dire:

événement clear est distribué lorsque l'utilisateur sélectionne ' Effacer '(ou' Supprimer ') dans le menu contextuel .

mais la fonction dateCleared dans jamais appelé ... Je besoin beacause je dois mettre selectedDate à null lorsque l'utilisateur le supprimer ...

S'il vous plaît aidez-moi ...

Répondre

1

Je peux confirmer que mx.controls.DateField ne distribue pas d'événement clear lors de la sélection de "Supprimer" dans le menu Contenu textuel. Je n'ai également pas eu de chance d'avoir un événement clear à envoyer pour les éditer mx.controls.TextInput et spark.components.TextInput. Hmm ....

Ce que vous pouvez faire est de gérer une modification de la valeur du contrôle dans votre écouteur d'événements handleChange et d'y définir votre valeur selectedDate.

Quelque chose comme ceci:

private var selectedDate:Date; 

private function handleChange(date:Date):void { 
    if (date == null) { 
     selectedDate = null; 
    }  
    // your existing handleChange code here 
} 

Aussi, je changerais ceci:

<mx:DateField change="handleChange()" /> 

à cette

<mx:DateField change="handleChange(DateField(event.target).selectedDate)" /> 
Questions connexes