Auto.js 列表 list

朱令
2023-12-01

界面布局

"ui";

ui.layout(
    <vertical>
        <text text="列表例子"/>
        <list id="列表">
            <horizontal>
                <text id="名字"text="{{名字}}"textSize="15"w="150"/>
                <text id="排名"text="{{排名}}"textSize="15"w="150"/>
                <text id="删除"text="删除"/>
            </horizontal>
        </list>
    </vertical>
);
//创建数组
var items = []
//添加对象到数组
for (var i = 0; i < 10; i++) {
    items.push({
        "名字": "名字" + i,
        "排名": "排名" + i
    })
}
//
ui.列表.setDataSource(items);

方法1 点击事件

ui.列表.on("item_click", function(item, i, itemView, listView) {
    log("对象", item)
    log("itemView", itemView.名字.text())
    log("listView", listView.排名.text())
});

方法2 点击事件

ui.列表.on("item_bind", function(itemView, itemHolder){
    itemView.名字.on("click", function(){
        let item = itemHolder.item;
        toast("名字为: " + item.名字);
    });
    itemView.排名.on("click", function(){
        let item = itemHolder.item;
        toast("排名为: " + item.排名);
    });
    itemView.删除.on("click", function(){
        let item = itemHolder.item;
        toast("被删除的人名字为: " + item.名字 + ",排名为: " + item.排名);
        items.splice(itemHolder.position, 1);
    });
})

改变输入框 保存数据 例子

"ui";
ui.layout(
    <vertical>
        <text text="列表例子"/>
        <list id="列表">
            <horizontal>
                <text id="名字"text="{{名字}}"textSize="15"w="100"/>
                <input id="排名"text="{{排名}}"textSize="15"w="80"/>
                <text id="保存"text="保存"marginLeft="20"/>
                <text id="删除"text="删除"marginLeft="20"/>
            </horizontal>
        </list>
        <button id="开始"text="开始"/>
    </vertical>
);
//创建数组
var items = []
//添加对象到数组
for (var i = 0; i < 10; i++) {
    items.push({
        "名字": "名字" + i,
        "排名": "排名" + i
    })
}
//
ui.列表.setDataSource(items);
ui.列表.on("item_bind", function(itemView, itemHolder){
    itemView.名字.on("click", function(){
        let item = itemHolder.item;
        toast("名字为: " + item.名字);
    });
    itemView.保存.on("click", function(){
        let item = itemHolder.item;
        item.排名=itemView.排名.text()
        toast("保存排名"+","+item.排名)
    });
    itemView.删除.on("click", function(){
        let item = itemHolder.item;
        toast("被删除的人名字为: " + item.名字 + ",排名为: " + item.排名);
        items.splice(itemHolder.position, 1);
    });
    
})
ui.开始.click(()=>{
    for(var i=0;i<items.length;i++){
        log(items[i].排名)
    }
})

QQ群 568523841

 类似资料: