1
我在flex 4的DataGroup中找到了itemRenderer的一個非常惱人的問題,當我mouseout的itemRenderer返回到默認狀態時。這裏有一個例子:Flex:爲什麼DataGroup ItemRenderer的mouseOut會導致狀態更改?
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:BorderContainer>
<s:DataGroup>
<s:layout>
<s:VerticalLayout gap="1"/>
</s:layout>
<s:dataProvider>
<s:ArrayCollection>
<fx:Object title="One" />
<fx:Object title="Two" />
<fx:Object title="Three" />
</s:ArrayCollection>
</s:dataProvider>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:states>
<s:State name="expanded" />
<s:State name="collapsed" />
</s:states>
<fx:Script>
<![CDATA[
private function expandCollapse():void
{
currentState = (currentState == "collapsed") ? "expanded" : "collapsed";
}
]]>
</fx:Script>
<s:VGroup>
<mx:Button click="expandCollapse();" label="Click me to hide the number" />
<s:SkinnableContainer>
<s:VGroup height="0" height.expanded="NaN">
<s:Label text="{data.title}" />
</s:VGroup>
</s:SkinnableContainer>
</s:VGroup>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:DataGroup>
</s:BorderContainer>
</s:Application>
當用戶點擊該按鈕按預期在Vgroup處於摺疊狀態,但隨後如果用戶將鼠標移動的項目渲染那麼它崩潰,即返回到其默認狀態。
這是一個錯誤還是我錯過了什麼?
乾杯,
克里斯
只是一個簡單的問題,你爲什麼使用'mx:Text'而不是's:Label'? – ocodo 2010-10-21 00:50:10
這不是一個真正的應用程序,它只是一個快速設計的例子,我用它來展示有問題的行爲。但是如果這樣做會更清楚,我會將其更改爲標籤。 – ChrisInCambo 2010-10-21 01:06:38