跳到主要内容

eui.List

   eui

   public class List

继承    eui.List → eui.ListBaseeui.DataGroupeui.Groupegret.DisplayObjectContaineregret.DisplayObjectegret.EventDispatcheregret.HashObject

List 控件可显示垂直或水平的项目列表。用户可以根据 allowMultipleSelection 属性的值从列表中选择一个或多个项目。

公共属性

属性
allowMultipleSelection : boolean
是否允许同时选中多项,设置为 true 时,触摸按下未选中的项呈示器,将会设置该项选中,再次按下将会取消选中
selectedIndex : number
选中项目的基于 0 的索引
selectedIndices : number[]
当前选中的一个或多个项目的索引列表
selectedItems : any[]
表示当前选定数据项的列表

公共方法

方法
dataProviderRefreshed():void
数据源刷新时触发

事件

Events
egret.Event.CHANGE
选中的索引已经发生改变,注意:此事件仅在索引改变是由用户触摸操作引起时才抛出。
egret.Event.CHANGING
选中的索引即将发生改变,可以通过调用事件对象的 preventDefault() 方法来阻止改变。
注意:此事件仅在索引改变是由用户触摸操作引起时才抛出。
eui.ItemTapEvent.ITEM_TAP
项呈示器单击事件。
egret.TouchEvent.TOUCH_CANCEL
取消触摸事件
egret.Event.RESIZE
当UI组件的尺寸发生改变时调度
eui.UIEvent.MOVE
当UI组件在父级容器中的位置发生改变时调度
eui.UIEvent.CREATION_COMPLETE
当UI组件第一次被添加到舞台并完成初始化后调度
egret.Event.ADDED
将显示对象添加到显示列表中时调度。
egret.Event.ADDED_TO_STAGE
在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。
egret.Event.REMOVED
将要从显示列表中删除显示对象时调度。
egret.Event.REMOVED_FROM_STAGE
在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。
egret.Event.ENTER_FRAME
[广播事件] 播放头进入新帧时调度。
egret.Event.RENDER
[广播事件] 将要更新和呈现显示列表时调度。
egret.TouchEvent.TOUCH_MOVE
当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。
egret.TouchEvent.TOUCH_BEGIN
当用户第一次触摸启用触摸的设备时(例如,用手指触摸手机屏幕)调度。
egret.TouchEvent.TOUCH_END
当用户移除与启用触摸的设备的接触时(例如,将手指从屏幕上抬起)调度。
egret.TouchEvent.TOUCH_TAP
当用户在启用触摸设备上的已启动接触的同一 DisplayObject 实例上抬起接触点时(例如,手机点击屏幕后抬起)调度。
egret.TouchEvent.TOUCH_RELEASE_OUTSIDE
当用户在启用触摸设备上的已启动接触的不同 DisplayObject 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。

属性详细信息

allowMultipleSelection

allowMultipleSelection : boolean = false

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

是否允许同时选中多项,设置为 true 时,触摸按下未选中的项呈示器,将会设置该项选中,再次按下将会取消选中。可以设置多项为选中状态。

selectedIndex

selectedIndex : number = -1

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

选中项目的基于 0 的索引。或者如果未选中项目,则为-1。设置 selectedIndex 属性会取消选择当前选定的项目并选择指定索引位置的数据项目。这个值会之中在-1到(dataProvider.length - 1)之间。如果从该组件中删除一个低于selectedIndex的值,则selectedIndex也会相应的调节选定的索引。如果删除的项为当前选中项,则该值会变为:

  • -1: 如果 requireSelection == false 或者已经没有剩余项目。
  • 0: 如果 requireSelection == true 并且当前至少还有一个剩余项目。
当用户通过与控件交互来更改 selectedIndex 属性时,此控件将分派 change 和 changing 事件。当以编程方式更改 selectedIndex 属性的值时,此控件不分派 change 和 changing 事件。

selectedIndices

selectedIndices : number[] = []

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

当前选中的一个或多个项目的索引列表。

selectedItems

selectedItems : any[]

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

表示当前选定数据项的列表

方法详细信息

dataProviderRefreshed()

public dataProviderRefreshed():void

数据源刷新时触发。此方法不从组件外部调用,仅用于编写自定义组件时,子类覆盖父类的此方法,以便在数据源发生改变时,自动执行一些额外的根据数据刷新视图的操作。

  • 支持版本:eui 1.0
  • 运行平台:Web,Native

示例

class  ListExample  extends  egret.Sprite  {

public constructor() {

super();

var exml =

`<e:Scroller xmlns:e="http:/ns.egret.com/eui">

<e:List id="list" width="200" height="400">

<e:itemRendererSkinName>

<e:Skin states="up,down,disabled" height="50">

<e:Label text="{data.label}" textColor="0xFFFFFF" horizontalCenter="0" verticalCenter="0"/>

</e:Skin>

</e:itemRendererSkinName>

</e:List>

</e:Scroller>`;

var clazz = EXML.parse(exml);

var scroller = new clazz();

this.addChild(scroller);

var list:eui.List = scroller.list;

var collection = new eui.ArrayCollection();

for(var i = 0; i < 20; i ++)

{

collection.addItem({"label":"Text" + i});

}

list.dataProvider = collection;

}

}