2010-03-18 79 views
0

我正在編寫一個Flex應用程序,我遇到了我認爲是一個奇怪的問題。DateChooser只有在開始時可見才能正確更新

我想創建一個文本框和一個DateChooser,因爲datefield沒有做我想做的事情,它是光環,所以我不能輕易剝皮。我希望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"那樣顯示,但我不希望它最初可見。

任何想法?

回答

1

我不認爲它實際上與DateChooser的初始可見性有關。你是否證實你的事件處理程序確實被調用,並且按照有意義的順序?問題似乎是,當您嘗試在DateChooser中進行選擇時,TextInput會獲取一個focusOut事件,該事件隱藏了DateChooser,這顯然會阻止它接收選擇事件。我認爲你需要更加有選擇地關注你何時隱藏DateChooser。也許你需要推遲隱藏,所以有機會首先回應選擇。

+0

你又對啦!這是focusOut問題。我從TextInput中刪除它,它工作。是的,事件根本沒有被調用。非常感謝你 – Tam 2010-03-18 17:02:45

相關問題