0

Flex アプリケーションを作成していて、奇妙な問題だと思われるものに遭遇しました。

日付フィールドが私が望んでいたことをしなかったので、テキストボックスとDateChooserを作成したいと思っています.Haloなので、簡単にスキンすることはできません. テキスト入力をクリックしたときに DateChooser が表示されるようにします。ここに私のコードからの例外があります:

    <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 }" />    

奇妙なことに、私がそれvisible = "true"を開始すると機能しますが、私がそれを持っているvisible="false"と機能しません! 表示されますが、選択した日付はボックスに表示されませんが、visible="true"最初は表示したくありません。

何か案は?

4

1 に答える 1

1

DateChooser の初期可視性と実際には何の関係もないと思います。イベント ハンドラーが実際に呼び出され、意味のある順序で呼び出されていることを確認しましたか? 問題は、DateChooser で選択を行おうとすると、TextInput が focusOut イベントを取得し、DateChooser が非表示になり、明らかに選択イベントを受信できないことです。DateChooser を実際に非表示にするタイミングについては、より厳選する必要があると思います。おそらく、最初に選択に応答する機会があるように、非表示を延期する必要があります。

于 2010-03-18T06:35:08.613 に答える