我認爲我剛剛發現了一個明顯的錯誤 in flex 4.5。來自Adobe Flex Transitions的有趣行爲 - 可能的Bug
有關應用程序的鏈接是here。 查看源已啓用!
這些都是過渡:
<s:states>
<s:State name="State1"/>
<s:State name="State2"/>
<s:State name="State3"/>
</s:states>
<s:transitions>
<s:Transition fromState="State1" toState="State2" autoReverse="true" >
<s:Sequence>
<s:Move duration="500" target="{goButton}"/>
<s:AddAction targets="{[tagsLabel,tagsTextInput]}"/>
<s:Fade targets="{[tagsLabel,tagsTextInput]}" duration="500" />
</s:Sequence>
</s:Transition>
<s:Transition fromState="State1" toState="State3" >
<s:Sequence>
<s:RemoveAction targets="{[searchLabel,searchTextInput,inLabel,inDropDownList]}" />
<s:Move duration="500" target="{goButton}" />
<s:AddAction target="{lessonsDataGrid}" />
</s:Sequence>
</s:Transition>
<s:Transition fromState="State2" toState="State3" >
<s:Sequence>
<s:RemoveAction targets="{[searchLabel,searchTextInput,inLabel,inDropDownList,tagsLabel,tagsTextInput]}" />
<s:Move duration="500" target="{goButton}" />
<s:AddAction target="{lessonsDataGrid}" />
</s:Sequence>
</s:Transition>
<s:Transition fromState="State3" toState="State1" >
<s:Sequence>
<s:RemoveAction target="{lessonsDataGrid}" />
<s:Move target="{goButton}" duration="500" />
<s:AddAction targets="{[searchLabel,searchTextInput,inLabel,inDropDownList]}" />
</s:Sequence>
</s:Transition>
</s:transitions>
你看,我的工作在這裏視線一點點;在DropDownList
indexChangeEvent
上激活一個轉換,另一個轉換由放大鏡Button
上的clickEvent
觸發。
我面臨的問題是:
如果我點擊「放大鏡」 Button
三次,(臨門不是3倍,但1次點擊,等待過渡,再點擊一下,等待過渡,最後點擊),然後我得到一些有趣的行爲:放大鏡Button
消失,即使我從來沒有讓它在消失的過渡;應該消失的TextInput
沒有;它不知何故有卡住在State3
這是其中Datagrid
狀態。
相信我,我已花費至少4小時在這個寫作和重寫這些轉換,我嘗試了各種各樣的東西在網絡上,但無濟於事。
希望有人可以幫忙,我不想接受Flex有錯誤。我很高興知道這是我做錯了事,Flex仍然是可靠的。
非常感謝。
我想試試感謝 –
到目前爲止好。會做更多的測試 –