У меня есть два разных 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
визуализируется дважды для первого удаляемого элемента.