Список Flex 4 - проблемы с перетаскиванием - PullRequest
1 голос
/ 11 марта 2011

У меня есть два разных Spark Lists, с двумя разными ItemRenderers, один с dragEnabled="true", а другой с dropEnabled="true", таким образом, что всякий раз, когда я перетаскиваю из одного в другой, копия отброшенного объекта создается и вставляется в 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, никогда не получит рендеринг. Полный объект есть, и все другие функции, связанные с ним, работают, но компонент не визуализируется. Если я удаляю объект, снова делая список пустым и вставляю его снова, он отображается!

Также, после вставки «невидимой», все следующие вставки работают.

Идеи? Спасибо!


Обновление: Я только что узнал, что itemRenderer DestinationItemRenderer визуализируется дважды для первого удаляемого элемента.
...