flex 4 datefield不发送明确的事件

时间:2011-06-14 14:05:05

标签: events flex4 clear datefield

这是我的日期字段:

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

我想检测清楚的事件,adobe ref说:

  

clear当用户调度Event时   选择&#39;清除&#39; (或者&#39;删除&#39;)来自   文本上下文菜单。

但是从未调用过dateCleared函数...我需要它因为当用户删除它时我必须将selectedDate设置为null ...

请帮帮我......

1 个答案:

答案 0 :(得分:1)

我可以确认,当从文本内容菜单中选择“删除”时,mx.controls.DateField不会调度clear事件。我也没有幸运能够为可编辑clearmx.controls.TextInput分发spark.components.TextInput个活动。嗯...

您可以做的是处理handleChange事件监听器中控件值的更改,并在那里设置selectedDate值。

这样的事情:

private var selectedDate:Date;

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

另外,我会改变这个:

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

到这个

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