Flex带CheckBox的Tree(修改ItemRenderer)
此文代码参考了:http://summerofthatyear-gmail-com.iteye.com/blog/326302
在此表示感谢!
前文提到了,实现带CheckBox的Tree有两种方法:
其一是修改ItemRenderer,其二是修改Tree和ItemRenderer。
此文实现第一种方法:
1、我在自己的Tree包下,新建一个ActionScript类,名为CheckTreeRenderer
2、CheckTreeRenderer继承TreeItemRenderer
3、构造函数可以使用 super() 语句显式地调用其直接超类的构造函数。(个人理解为:可以直接用new过的东西)
4、重写createChildren()方法,创建CheckBox以及其事件。
(写到此处发现createChildren没有触发事件,研究了一下原来这跟组件的生命周期有关,在此简单提一下:
组件的出生阶段包括三个步骤:构造,配置,装配和初始化。(分别对应了 4 个 protected 方法,constructor、createChildren,commitProperties,measure和updatedisplayList))
5、重写commitProperties方法,给checkbox赋值
6、重写measure方法,重置ItemRenderer宽度
7、重写updateDisplayList方法,重新布局
8、设置Tree的ItemRenderer
9、效果