this.ui.m_List.setVirtual();//开启虚拟列表
this.ui.m_List.itemRenderer = this.renderAchListItem.bind(this);//设置列表item的渲染函数
this.ui.m_List.itemProvider = this.getListItemResource.bind(this);//设置这个函数为列表的item提供者
//列表的渲染函数
public renderListItem(index: number, obj: UI_MonthSignInItem): void {
将item的单选按钮或其他组件状态还原,当做崭新的组件使用
index是列表中的下标,obj为item
item.icon = this.infoArray[index].icon;//将列表数据一一对应赋值给item
}
this.ui.m_List.numItems = this.infoArray.length;//设置虚拟列表长度,自动触发列表渲染函数renderListItem
//item提供函数
public getListItemResource(index: number): string {
const itemInfo= this.infoArray[index];//根据数组中每个元素的类型提供不同的item
if (itemInfo.type === 1)
return “ui://Lobby/DetailsTemplate1”;
else if (itemInfo.type === 2)
return “ui://Lobby/DetailsTemplate2”;
else if (itemInfo.type === 3)
return “ui://Lobby/DetailsTemplate3”;
}
cocos creator FairyGUI虚拟列表的使用
最新推荐文章于 2024-05-19 09:32:55 发布