Chinaunix首页 | 论坛 | 博客
  • 博客访问: 598993
  • 博文数量: 96
  • 博客积分: 1464
  • 博客等级: 上尉
  • 技术积分: 1539
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-12 23:24
文章分类

全部博文(96)

文章存档

2013年(29)

2012年(53)

2011年(14)

分类: JavaScript

2013-04-23 17:26:57

现在学习下flex中最强大的组件之一——Repeater组件

1.Repeater的作用功能
2.Repeater的常用属性及事件简介
3.Repeater小例子


1.Repeater的作用及功能
    Repeater这个组件会与数据源联系起来,并对每个数据实例重复其内的构造。运行时动态重复mxml的内容
        如:有一个网站购物系统,每件商品上都有一个按钮“添加到购物车”,则可以用Repeater这个组件来实现,Repeater可以一边绑定数据源,一边只写一个“添加到购物车”按钮在Repeater中就可以了。
    

2.Repeater的常用属性及事件简介
    常用属性
    dataProvider:Object 此Repeater创建子项的重复实例时使用的数据源
    startingIndex:int dataProvider中的索引,此Repeater从此索引位置开始创建子项
    count:int 此Repeater应执行的次数
    currentIndex:int Repeater执行时,当前正在处理的dataProvider中项目的索引(currentIndex返回currentItem在ArrayCollection中的位置。在想给某事物编号时,会很有用滴)
    currentItem:Object 此Repeater执行时,当前正在处理的dataProvider中的项目(Repeater组件每次创建一个新的重复后,引起此重复的数据就会成为一个名为currentItem的属性。)
    recycleChildren:Boolean 布尔值标志,指示此Repeater是重新使用以前创建的子项还是创建新子项。
    常用事件
    repeat 每次处理项目或更新currentIndex和currentItem属性时调度
    repeatEnd 创建Repeater的所有组件后调度
    repeatStat 当flex开始处理dataProvider属性并开始创建指定的子组件时调度


3.Repeater小例子

代码:

点击(此处)折叠或打开

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="" layout="vertical">

  3.     <mx:Script>
  4.         <![CDATA[
  5.             private function getBookData(repeaterData:String):void{
  6.                 nameLabel.text = repeaterData;
  7.             }
  8.         ]]>
  9.     </mx:Script>
  10.     
  11.     <mx:Model id="bookData">
  12.         <books>
  13.             <bookName>xml for flash</bookName>
  14.             <bookName>ActionScript for Animation</bookName>
  15.             <bookName>Foundation flash 8 Video</bookName>
  16.         </books>
  17.     </mx:Model>
  18.     
  19.     <mx:ArrayCollection id="bookArray" source="{bookData.bookName}"/>
  20.     <mx:Repeater id="bookRepeater" dataProvider="{bookArray}">
  21.         <mx:Label text="{bookRepeater.currentIndex+1}{bookRepeater.currentItem}"/>
  22.         <mx:Button label="Add to Cart" click="getBookData(event.target.getRepeaterItem())"/>
  23.     </mx:Repeater>
  24.     <mx:Label id="nameLabel"/>
  25. </mx:Application>

效果:




阅读(3329) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~