我想我刚刚在flex 4.5中发现了一个明显的错误。
相关应用程序的链接在这里。查看源已启用!!
这些是过渡:
<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>
你看我在这里用Transitions工作了一点;一个转换在 上激活DropDownList
indexChangeEvent
,另一个由clickEvent
放大镜上的触发Button
。
我面临的问题如下:
如果我单击“放大镜”Button
三次(不是快速连续 3 次,而是单击 1 次,等待转换,再单击一次,等待转换,最后一次单击)然后我会得到一些有趣的行为:放大镜Button
消失了,甚至虽然我从来没有让它在过渡中消失;而TextInput
应该消失的没有;它不知何故陷入了State3
其中的状态Datagrid
。
相信我,我花了至少4 个小时来写这篇文章并重写这些转换,我在网上尝试了各种各样的东西,但都无济于事。
希望有人可以提供帮助,我不愿意接受 Flex 有错误。知道这是我做错的事情并且 Flex 仍然可靠,我会松一口气。
非常感谢。