Pergunta

Eu tenho um componente List usando vários representantes de itens determinados pelo itemRendererFunction. Quando eu definir os dados pela primeira vez, ele funciona como esperado. Então, quando eu definir os dados uma segunda vez com novos dados, ele não chama o itemRendererFunction e tenta reutilizar os representantes atuais, mesmo que eles não coincidem com os dados. Uma vez eu rolar, a função é chamada e os representantes corretos são utilizados. Tentei ligar invalidateDisplayList e tal antes de definir os dados, mas isso não corrigir o problema. Alguma idéia?

Foi útil?

Solução

Acontece que este é um bug Flex SDK. Peter DeHaan forneceu-me com uma solução alternativa (re-definindo a propriedade itemRendererFunction após o dataProvider é definido) e está arquivando-lo para um futuro lançamento do SDK.

Outras dicas

Aqui está apenas algumas idéias:

Tente invalidateProperties? Olhando para a fonte que eu tenho um palpite pode ser que, de outra forma, talvez apenas começar a chamar cada método invalidate pode encontrar até você chegar a um direito.

Outra solução hacky sorta pode ser fazer não da posição de rolagem atual (através do scroller na lista) passar em uma nova matriz como dataprovider (que vai certamente recriar os representantes de itens), em seguida, definir a posição de rolagem para a mesma que foi antes da atualização.

Ou você poderia abstrato para fora a seleção dos diferentes representante de item para o item de processador em si. : /

FWIW: Aqui está o link para o bug Flex: https://bugs.adobe.com/jira/browse/SDK-32018

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top