Попытка очистить tableView просто удваивает содержание
Я пытаюсь обновить свое табличное представление обновленными данными, но всякий раз, когда я пытаюсь очистить его, используя либо
tagsTable.setData();
or
tagsTable.setData([]);
or
tagsTable.data = null;
а затем повторно применить обновленные данные, используя
tagsTable.setData(TagsData);
Первоначально он никогда не очищает таблицу, поэтому новые данные просто добавляются в конец таблицы, поэтому у меня есть старые данные, а также новые данные в таблице 1.
Кто-нибудь знает, что не так или как это исправить?
1 ответ
Вот простое (классическое приложение Titanium), которое показывает очистку и повторное заполнение таблицы. data
свойство через несколько кнопок. Я бы трижды проверил правильность ваших разделов / строк TagsData, чтобы убедиться, что все в массиве установлено правильно.
var
win = Ti.UI.createWindow({
title: "Table Funs",
layout: "vertical",
backgroundColor: "#ffffff"
}),
navwin = Ti.UI.iOS.createNavigationWindow({
window: win
}),
table = Ti.UI.createTableView(),
clearButton = Ti.UI.createButton({
title: "Clear Table",
width: Ti.UI.FILL,
height: 44,
backgroundColor: "#f4f4f4",
color: "red",
bottom: 1
}),
fillButton = Ti.UI.createButton({
title: "Fill Table",
width: Ti.UI.FILL,
height: 44,
backgroundColor: "#f4f4f4",
color: "blue",
bottom: 1
}),
tableData = [];
// Fill up tableData array with rows
tableData.push(Ti.UI.createTableViewRow({ title: "Hey" }));
tableData.push(Ti.UI.createTableViewRow({ title: "this" }));
tableData.push(Ti.UI.createTableViewRow({ title: "is" }));
tableData.push(Ti.UI.createTableViewRow({ title: "a" }));
tableData.push(Ti.UI.createTableViewRow({ title: "table" }));
clearButton.addEventListener("click", function() {
Ti.API.debug("Clicked clear button.");
table.setData(null);
return;
});
fillButton.addEventListener("click", function() {
Ti.API.debug("Clicked fill button.");
table.setData(tableData);
return;
});
// Fill table with our data
table.setData(tableData);
// Build window
win.add(clearButton);
win.add(fillButton);
win.add(table);
navwin.open();