repeaters太老土了!如果你过去使用过它,你会发出这种感概。现在,我们终于要摆脱它了。 Repeaters不仅有沉重的组件,而且接合使用很不方便。那么,Flex 4中有什么可以帮助我们吗?DataGroups! 下面的例子都会用到这个数据:
- userData = new ArrayCollection();
- userData.addItem({"fname":"Rich","lname":"Tretola"});
- userData.addItem({"fname":"Joe","lname":"Smith"});
- userData.addItem({"fname":"Bill","lname":"Johnson"});
复制代码
Flex 3的例子使用了Repeater和一个名为PersonRenderer的自定义组件: 主文件中的Repeater(Flex 3):
- <mx:VBox horizontalCenter="0" verticalCenter="0">
- <mx:Repeater id="rep" dataProvider="{userData}">
- <local:PersonRenderer person="{rep.currentItem}"/>
- </mx:Repeater>
- </mx:VBox>
复制代码
PersonRenderer 组件(Flex 3):
- <?xml version="1.0" encoding="utf-8"?>
- <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" >
- <mx:Script>
- <![CDATA[
- [Bindable]
- public var person:Object;
- ]]>
- </mx:Script>
- <mx:Label text="{person.fname} {person.lname}"/>
- </mx:HBox>
复制代码
<ignore_js_op>
使用了DataGroup和ItemRenderer的Flex4例子。代码如下: 主文件中的DataGroup:
- <s:DataGroup itemRenderer="PersonRenderer"
- dataProvider="{userData}"
- verticalCenter="0" horizontalCenter="0">
- <s:layout>
- <s:VerticalLayout/>
- </s:layout>
- </s:DataGroup>
复制代码
PersonRenderer ItemRenderer (Flex 4):
- <?xml version="1.0" encoding="utf-8"?>
- <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark">
- <s:Label text="{data.fname} {data.lname}"/>
- </s:ItemRenderer>
复制代码
<ignore_js_op> |