我有使用由itemRendererFunction决定的多个项呈示List组件。当我设置数据的第一次,它按预期工作。然后,当我将第二次与新数据中的数据,它不叫itemRendererFunction并试图重用当前的渲染器,即使它们不匹配的数据。有一次,我滚动,调用函数和正确的渲染器使用。我打过电话invalidateDisplayList和设置等数据前,但没有解决问题。任何想法?

有帮助吗?

解决方案

原来这是一个Flex SDK错误。彼得DeHaan为我提供了一个解决办法(重新设置数据提供程序设置后itemRendererFunction属性),并提交它为未来的SDK版本。

其他提示

下面只是一些想法:

尝试invalidateProperties?看着我有一种预感,这可能是因为源,否则,也许刚开始要求每无效的方法,你可以找到,直到你得到正确的。

另一个几分哈克解决方案可能是采取不是当前的滚动位置(经由在列表中的滚动条)通过在一个新的数组作为数据提供器(这肯定会重新创建项目渲染器),然后设置滚动位置为相同,因为它是刷新之前。

或者你可以抽象出不同的项目渲染到项目渲染器本身的选择。 :/

FWIW:这里的链接到Flex错误: https://bugs.adobe.com/jira/browse/SDK-32018

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top