2012-09-18 4 views
1

J'ai une vue avec un répéteur à l'intérieur pour créer chaque enfant. Soemthing comme ça:Flex viewstack addchild dynamiquement sans recréer chaque enfant

<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> 

Lorsque j'ajoute un élément à la dataprovider, il crée le nouvel enfant, mais il aussi tous les recharge d'autres enfants, que je ne veux pas. Comment empêcher Flex de recréer le composant lorsqu'il ajoute un enfant?

Merci.

+1

Je ne sais pas à quel point c'est utile; mais n'utilisez pas de répéteur; XML n'a pas été conçu pour les boucles. Réécrivez votre code dans ActionScript. – JeffryHouser

Répondre

0

Vous ne pouvez pas le faire « progressivement » avec un répéteur, vous devez le faire par programme au lieu d'utiliser la méthode addChild() qui appartient à conteneur d'où il a hérité, par exemple, le HBox au premier niveau à l'intérieur Repeater,

acclamations

+0

Merci. J'ai finalement réussi à le faire comme vous l'avez suggéré. Cela résout le problème, merci! – user1680003

0

Si vous pouvez utiliser Flex 4 ou plus, puis utilisez un DataGroup ou List au lieu d'un Repeater. Tout ira mieux.

Sinon, vous pouvez essayer de définir recycleChildren=false sur le répéteur.

Questions connexes