Pregunta

Tengo un componente List uso de múltiples procesadores de elementos determinados por el itemRendererFunction. Cuando me puse los datos de la primera vez, funciona como se esperaba. Entonces, cuando me puse los datos una segunda vez con nuevos datos, que no llama a la itemRendererFunction y trata de volver a utilizar los procesadores actuales a pesar de que no coinciden con los datos. Una vez que me desplazo, la función se llama y se utilizan los procesadores correctos. Traté de llamar y invalidateDisplayList tales antes de ajustar los datos, pero eso no se soluciona el problema. ¿Alguna idea?

¿Fue útil?

Solución

Resulta que este es un error Flex SDK. Peter DeHaan me proporcionó una solución (re-establecer la propiedad itemRendererFunction después de la dataProvider está establecido) y se archivarlo para una futura versión del SDK.

Otros consejos

He aquí sólo algunas ideas:

Trate invalidateProperties? En cuanto a la fuente Tengo el presentimiento de que podría ser que, de otro modo, tal vez sólo empieza a llamar a todos los métodos de invalidación se pueden encontrar hasta que usted consigue la correcta.

Otra solución sorta hacky podría ser tomar no de la posición de desplazamiento actual (a través de la barra de desplazamiento en la lista) estén en una nueva matriz como DataProvider (que sin duda recrear los procesadores de elementos) a continuación, establecer la posición de desplazamiento a la misma, ya que era antes de la actualización.

O se podría abstraer la selección del procesador de elementos diferentes en el propio procesador de elementos. : /

Fwiw: Aquí está el enlace al error Flex: https://bugs.adobe.com/jira/browse/SDK-32018

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top