0

ここに私の日付フィールドがあります:

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

クリアイベントを検出したい、Adobe refは言う:

clear イベントは、ユーザーがテキスト コンテキスト メニューから [クリア] (または [削除]) を選択したときに送出されます。

しかし、dateCleared関数は決して呼び出されません...ユーザーが削除するときにselectedDateをnullに設定する必要があるため、必要です...

私を助けてください...

4

1 に答える 1

1

clearテキスト コンテンツ メニューから [削除] を選択すると、mx.controls.DateField がイベントを送出しないことを確認できます。またclear、編集可能mx.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)" />
于 2011-06-18T01:30:15.190 に答える