Flex 4 List - 拖放问题

时间:2011-03-11 20:05:03

标签: list drag-and-drop flex4 itemrenderer

我有两个不同的Spark Lists,有两个不同的ItemRenderers,其中一个有dragEnabled="true",另一个有dropEnabled="true",这样每当我拖动从一个中删除另一个,删除的对象的副本被创建并插入到第二个List的dataProvider中。

<s:List id="source"
        itemRenderer="componentsRenderers.SourceItemRenderer"
        dragEnabled="true"
        dataProvider="{elements}"/>

<s:List id="destination"
        itemRenderer="componentsRenderers.DestinationItemRenderer"
        dragEnabled="false"
        dropEnabled="true"
        change="destinationChanged(event)"/>

事件处理程序destinationChanged()是一种方法,它解析最近添加的对象,将其删除,并创建一个新的对象,其中包含必须呈现的UIComponent

最重要的是,除了一件事:我加载应用程序后,UIComponent中要删除的第一个项目的destination永远不会得到渲染器。完整的对象就在那里,与它相关的所有其他功能都可以工作,但组件不会被渲染。如果我删除了该对象,再次将List清空,然后重新插入,它就会被渲染!

此外,在插入'invisible'后,所有以下插入都可以正常工作。

想法? 谢谢!

<小时/> 更新:我刚发现itemRenderer DestinationItemRenderer会被渲染两次,以便删除第一个元素。

0 个答案:

没有答案