eui.List
包 eui
类 public class List
继承 eui.List → eui.ListBase → eui.DataGroup → eui.Group → egret.DisplayObjectContainer → egret.DisplayObject → egret.EventDispatcher → egret.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
并且当前至少还有一个剩余项目。
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;
}
}