gpt4 book ai didi

ios - 可扩展 TableView 行 - 像树错误为什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:46 24 4
gpt4 key购买 nike

错误 在应用中找不到索引行

我正在编写这段代码

  1. 如果我单击第一个时间 TableView 行,它将显示错误

    但它会显示子行。

    2. 如果我单击子行,将显示此错误:undefined is not an object

    (评估(e.row.sub.length)

    为什么会出现这个错误?

    代码

    var win = Ti.UI.createWindow();
    var container = Ti.UI.createView({ backgroundColor: "white", layout: "vertical" });

    var layout = [{
    title: "Parent 1",
    isparent: true,
    opened: false,
    sub: [
    { title: "Child 1" },
    { title: "Child 2" }
    ]
    }, {
    title: "Parent 2",
    isparent: true,
    opened: false,
    sub: [
    { title: "Child 3" },
    { title: "Child 4" }
    ]
    }];

    var tableView = Ti.UI.createTableView({
    style: Titanium.UI.iPhone.TableViewStyle.GROUPED,
    top: 0,
    height: Ti.Platform.displayCaps.platformHeight,
    data: layout
    });


    tableView.addEventListener("click", function (e) {
    var i;
    //Is this a parent cell?
    console.log(e.row);
    if (e.row.isparent) {
    //Is it opened?
    if (e.row.opened) {
    for (i = e.row.sub.length; i > 0; i = i - 1) {
    tableView.deleteRow(e.index + i);
    }
    e.row.opened = false;
    } else {
    //Add teh children.
    var currentIndex = e.index;
    for (i = 0; i < e.row.sub.length; i++) {
    tableView.insertRowAfter(currentIndex, e.row.sub[i]);
    currentIndex++;
    }
    e.row.opened = true;
    }
    }
    });

    container.add(tableView);

    win.add(container);
    win.open();

    如有任何帮助,我们将不胜感激

最佳答案

您的代码存在问题,您试图在表索引尚未更新时在表末尾插入许多行。解决方案是使用相同的索引以相反的顺序添加行。

这是您的事件监听器的修改版本:

tableView.addEventListener("click", function (e) {
var i, rows;
//Is this a parent cell?
if (e.row.isparent) {
//Is it opened?
if (e.row.opened) {
for (i = e.row.sub.length; i > 0; i = i - 1) {
tableView.deleteRow(e.index + i);
}
e.row.opened = false;
} else {
//Add teh children.
rows = e.row.sub.reverse();
for (i = 0; i < rows.length; i++) {
tableView.insertRowAfter(e.index, rows[i]);
}
e.row.opened = true;
}
}
});

关于ios - 可扩展 TableView 行 - 像树错误为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22375064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com