Question

J'ai un composant List à l'aide d'objets multiples équarrisseurs déterminés par le itemRendererFunction. Quand je tournerai les données la première fois, cela fonctionne comme prévu. Puis, quand je mets les données une deuxième fois avec de nouvelles données, il ne remet pas itemRendererFunction et essaie de réutiliser les équarrisseurs actuelles, même si elles ne correspondent pas aux données. Une fois que je fais défiler, la fonction est appelée et les équarrisseurs corrects sont utilisés. J'ai essayé d'appeler invalidateDisplayList et comme avant la mise en données, mais cela n'a pas résolu le problème. Toutes les idées?

Était-ce utile?

La solution

Il se trouve que c'est un bug SDK Flex. Peter DeHaan m'a fourni une solution de contournement (re-définition de la propriété itemRendererFunction après la dataProvider est réglé) et le dépôt pour une future version du SDK.

Autres conseils

Voici quelques idées:

Essayez invalidateProperties? En regardant la source que j'ai le pressentiment qu'il pourrait être que, sinon, peut-être juste commencer à appeler chaque méthode invalidate vous pouvez trouver jusqu'à ce que vous obtenez le droit.

Une autre sorta solution hacky pourrait être de ne pas prendre de position de défilement actuelle (via la barre de défilement sur la liste) passent dans un nouveau tableau comme dataprovider (qui va recréer définitivement les équarrisseurs d'article), puis régler la position de défilement vers la même que était avant l'actualisation.

Ou vous pourriez abstraite la sélection des différents rendu d'élément dans l'élément lui-même rendu. : /

FWIW: Voici le lien vers le bug Flex: https://bugs.adobe.com/jira/browse/SDK-32018

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top