Apache flex 列表在flex中创建时已损坏

Apache flex 列表在flex中创建时已损坏,apache-flex,Apache Flex,我创建了一个自定义控件,它在标题下方包含一个HeaderBox和list控件。我可以使用header click事件打开和关闭列表,即list.height=0和list.height=200。最初,列表将处于关闭状态高度=0。当我们第一次打开它的时候。这需要太多的时间。对于同一列表的连续打开看起来更平滑,我想这是因为itemrenderer正在被重用。我想第一次顺利地打开列表。有人请帮忙吗 我已经为列表控件创建了自己的渲染器,它在HBox中包含一个5组合框。这听起来确实像是在重新创建下拉列表,

我创建了一个自定义控件,它在标题下方包含一个HeaderBox和list控件。我可以使用header click事件打开和关闭列表,即list.height=0和list.height=200。最初,列表将处于关闭状态高度=0。当我们第一次打开它的时候。这需要太多的时间。对于同一列表的连续打开看起来更平滑,我想这是因为itemrenderer正在被重用。我想第一次顺利地打开列表。有人请帮忙吗


我已经为列表控件创建了自己的渲染器,它在HBox中包含一个5组合框。这听起来确实像是在重新创建下拉列表,但是第一次加载列表花费的时间太长,原因是它没有创建项目渲染器。列表控件在任何给定的时间仅创建其内适合的尽可能多的项呈现器。由于从高度=0开始,不会创建任何项目渲染器,因此第一次更改高度将强制创建和验证所有项目渲染器

若要解决此问题,请让列表在创建时创建并维护其项目呈现器

创建列表并将其高度保留为200,但将其可见性设置为false。即使具有虚假可见性,列表仍会在显示列表上创建、验证和维护。添加用于显示和隐藏列表的效果,作为列表的showEffect和hideEffect样式,然后只需单击标题切换可见即可

只需将按钮用作除简单标签之外的其他内容的下拉项呈现器

<mx:VBox verticalGap="0">
    <mx:HBox click="list.visible = !list.visible">
        <s:Label text="click me"/>
    </mx:HBox>
    <mx:List id="list" height="200" visible="false" labelField="label">
        <mx:dataProvider>
            <s:ArrayCollection>
                <fx:Object label='Button 1' />
                <fx:Object label='Button 2' />
                <fx:Object label='Button 3' />
                <fx:Object label='Button 4' />
                <fx:Object label='Button 5' />
                <fx:Object label='Button 6' />
            </s:ArrayCollection>
        </mx:dataProvider>
        <mx:itemRenderer>
            <fx:Component>
                <mx:Button />
            </fx:Component>
        </mx:itemRenderer>
        <mx:showEffect>
            <s:Fade alphaFrom="0" alphaTo="1" duration="1500"/>
        </mx:showEffect>
        <mx:hideEffect>
            <mx:Fade alphaFrom="1" alphaTo="0" duration="1500" />
        </mx:hideEffect>
    </mx:List>
</mx:VBox>

您应该显示一些代码。为什么要使用Flex3?你为什么要做高度=0和高度=200?visible=false和visible=true还不够好?听起来你好像在试图重新创建DropDownList。若有,;为什么?此外,在这里不可能提供任何帮助而不查看您的代码。