Frage

Ich habe eine List-Komponente verwenden mehrere Artikel Renderer bestimmt durch die itemRendererFunction.Wenn ich die Daten das erste mal, funktioniert es wie erwartet.Dann, wenn ich die Daten ein zweites mal mit neuen Daten, es funktioniert nicht rufen Sie die itemRendererFunction und versucht, die Wiederverwendung der aktuelle Renderer, auch wenn diese nicht den Daten entsprechen.Sobald ich scrolle, wird die Funktion aufgerufen und die richtigen Renderer verwendet werden.Ich habe versucht, den Aufruf invalidateDisplayList und solche, die vor dem festlegen der Daten, aber das hat das problem nicht behoben.Irgendwelche Ideen?

War es hilfreich?

Lösung

Es stellt sich heraus, diese ist eine Flex-SDK-Fehler.Peter DeHaan ich mir mit einem workaround (re-Einstellung die itemRendererFunction-Eigenschaft nach der dataProvider wird gesetzt) und erhebt es für eine zukünftige Version des SDK.

Andere Tipps

Hier sind nur ein paar Ideen:

Versuchen invalidateProperties? an der Quelle der Suche ich eine Ahnung haben, dass sein könnte, sonst, vielleicht starten Sie einfach jede Invalidier Methode aufrufen Sie, bis Sie das richtige ist zu finden.

Eine weitere sorta hacky Lösung möglicherweise nicht der aktuellen Scroll-Position zu nehmen (über das Stellrad auf der Liste) passieren in einem neuen Array als Dataprovider (was definitiv die Elementrenderern neu erstellen wird), dann stellen Sie die Scroll-Position auf die gleiche, wie sie vor dem Refresh war.

Oder könnten Sie abstrahieren die Auswahl der verschiedenen Elementrenderers in den Elementrenderers selbst. : /

FWIW: Hier ist der Link zum Flex Bug: https://bugs.adobe.com/jira/browse/SDK-32018

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top