LayaBox入门基础之JS代码实现按钮增加功能
2.2.3 实现List增加功能
实现List增加,需要用到LayaAir引擎laya.display.Sprite中的事件侦听on()方法对鼠标点击事件CLICK进行侦听,以及laya.ui.List API中添加单元格数据源的方法addItem();
(图25)
(图26)
(function() { var Handler= Laya.Handler; var Loader= Laya.Loader; var WebGL = Laya.WebGL; var Event = Laya.Event; var Stage = Laya.Stage; var ListDemoView; var arr; (function() { Laya.init(640,1136,WebGL); Laya.stage.bgColor = "#ffffff"; Laya.stage.scaleMode = Stage.SCALE_SHOWALL; //预加载资源文件后执行回调 Laya.loader.load(["res/atlas/ListPage.atlas","res/atlas/template/ButtonTab.atlas"], Handler.create(this, onLoaded)); })(); function onLoaded(){ ListDemoView = new ListPageUI(); Laya.stage.addChild(ListDemoView); //获得List模拟数据,并渲染 getListData(); //侦听增加按钮点击事件 ListDemoView.add.on(Event.CLICK,this,onAddClick); } function getListData(){ //添加list数据 arr = []; for (var i = 1; i <= 30; i++) { arr.push({listNumber: {text:i}}); } ListDemoView._list.vScrollBarSkin='';//添加list滚动条功能(UI不可显示) ListDemoView._list.array = arr;//数据赋值 //list渲染函数 ListDemoView._list.renderHandler = new Handler(this, onRender); } function onRender(cell,index){ //如果索引不再可索引范围,则终止该函数 if(index > arr.length)return; //获取当前渲染条目的数据 var data = arr[index]; //根据子节点的名字listNumber,获取子节点对象。 var listNumber = cell.getChildByName("listNumber") ; //label渲染列表文本(序号) listNumber.text=data.listNumber.text; } function onAddClick(){ //添加单元格数据源 ListDemoView._list.addItem({listNumber: {text:arr.length+1}}); } })();
详情直接查看代码与注释。
代码运行效果如图27所示:
(图27)实现列表增加效果
有些人之所以不断成长,就绝对是有一种坚持下去的力量。好读书,肯下功夫,不仅读,还做笔记。人要成长,必有原因,背后的努力与积累一定数倍于普通人。所以,关键还在于自己。
分类:
Laya-Game-JS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2017-12-11 2017.12.4 Android开发之ListView组件