下面我包含了示例应用中的所有代码以重现此问题。首先,这是截图和描述:
这是版本/平台信息:
这是一个错误吗?我是否误解了索引如何在部分上下文中起作用?
Fwiw,我尝试了各种不同的创建表的方法(例如,先将TableViewRows添加到TableViewSections然后再使用appendSection),但它们都有同样的问题。
此外,如果我仅使用XML创建行和部分,则会出现同样的问题。
最终,我希望能够将click事件的索引用作deleteRow()
的参数,这在尝试动态删除第一部分中的行时工作正常,但它会很快崩溃单击第二部分中的任何内容,因为索引始终相同,deleteRow(2)
甚至没有删除第二部分的第一个条目,正如您所料(它什么都不做)。
<Alloy>
<Window class="container">
<TableView id="table" onClick="alertIndex">
</TableView>
</Window>
</Alloy>
function alertIndex(e) {
alert(e.index);
}
function createTable() {
var rows = [];
rows.push(Ti.UI.createTableViewSection({ headerTitle: "Odds" }));
rows = rows.concat(makeTableViewArr(["One", "Three"]));
rows.push(Ti.UI.createTableViewSection({ headerTitle: "Evens" }));
rows = rows.concat(makeTableViewArr(["Two", "Four"]));
$.table.setData(rows);
}
function makeTableViewArr(arrRowText) {
return arrRowText.map(function(rowText) {
return makeTableViewRow(rowText);
});
}
function makeTableViewRow(rowText) {
return Ti.UI.createTableViewRow({
title: rowText,
className: "row"
});
}
createTable();
$.index.open();
".container": {
backgroundColor:"white"
},
"Label": {
width: Ti.UI.SIZE,
height: Ti.UI.SIZE,
color: "#000"
}
".row": {
height: 75,
backgroundColor: '#fff',
color: '#000',
font: {
fontStyle: 'italic',
fontSize: '16sp'
},
}
我收到确认,这确实是一个错误。它会影响仅移动网络,而不会影响Android或iOS。我创建了a JIRA ticket for it here