Flex viewstack addchild динамически без воссоздания каждого дочернего элемента

У меня есть стек просмотра с ретранслятором внутри для создания каждого дочернего элемента. Что-то вроде этого:

    <mx:ViewStack width="100%" height="100%" >
    <mx:Repeater id="myrepeater" dataProvider="{myDataProvider}">
    <mx:HBox width="100%" height="100%" >
    ---view content goes here---
    </mx:HBox>
    </mx:Repeater>  
    </mx:ViewStack>

Когда я добавляю элемент в поставщик данных, он создает новый дочерний элемент, но также перезагружает все остальные дочерние элементы, что мне не нужно. Как запретить Flex воссоздавать компонент при добавлении дочернего элемента?

Спасибо.


person user1680003    schedule 18.09.2012    source источник
comment
Я не уверен, насколько это полезно; но не используйте повторитель; XML не был разработан для циклов. Перепишите код на ActionScript ..   -  person JeffryHouser    schedule 18.09.2012


Ответы (2)


Вы не можете делать это «постепенно» с помощью Repeater, вы должны делать это программно, вместо этого, используя метод addChild (), который принадлежит Container, поэтому он унаследован, например, HBox на первом уровне. внутри вашего ретранслятора,

ваше здоровье

person fabio trabattoni    schedule 20.09.2012
comment
Спасибо. Наконец-то я сделал это так, как вы предлагали. Решает проблему, спасибо! - person user1680003; 18.01.2013

Если вы можете использовать Flex 4 или выше, используйте DataGroup или List вместо Repeater. Просто все будет работать лучше.

В противном случае вы можете попробовать установить recycleChildren=false на ретрансляторе.

person Peter Hall    schedule 23.09.2012