Flex4 Itemrenderer states失效

[问题]

自定义的Itemrenderer,运行时像往常状态下修改currentState以改变状态和显示,但itemrenderer并没有如期改变,而是一直停留在normal的状态,百思不得其解。

调试可以发现,设置currentState的代码是执行了的,而且值也改变了。但看起来从表现看,依然停留在normal状态。

猜想是不是Itemrenderer的states不能用,但所有的文档一直说可以用,只要定义Itemrenderer状态。并后来发现,hovered状态有效,只是selected状态无效。

[原因]

spark.components.supportClasses.Itemrenderer是一个比较特别的组件,它的生命周期由framework来管理,无须自己创建销毁。另外,它的状态也一样,由framework管理,不需自己修改。不但不能自己定义新的状态,甚至修改状态也不能自己手工去修改。

[解决]

不要人工去调用currentState来设置selected状态,而是设置属性selected来达到转变成selected状态。

你可能感兴趣的:(Flex4 Itemrenderer states失效)