如何添加事件侦听器,以便在窗口/选项卡处于焦点时更新表格?我的当前代码适用于webViews,但我不确定如何将它应用于tableViews。 win.addEventListener('focus',function(e){webview.reload();});
答案 0 :(得分:3)
创建一个重新加载表格数据并调用table.setData(_tableData)
答案 1 :(得分:0)
假设你有你的桌子,定义为:
var tableData = [{title: 'Elephants'}, {title: 'Donkeys'}, {title: 'Falcons'}]
var tableView = Ti.UI.createTableView({
data: tableData
})
win.add(tableView)
一个名为newData
的数组,其中包含您要放入表中的新信息。你尝试过以下吗?
win.addEventListener('focus', function(e){
tableView.data = newData
})
如果您需要更多信息或者这不符合您的需求,请告诉我们。
答案 2 :(得分:0)
是的,您可以在当前的代码中执行。
win.addEventListener('focus', function(e){
tableView.setData(newData); // this is always add update Array
});
例如
var win = Ti.UI.createWindow();
var data = [
{title:"Row 1"},
{title:"Row 2"},
{title:"Row 3"}
];
var tableView = Ti.UI.createTableView({
data: data
});
win.add(tableView);
win.open();
再试一次
var win = Ti.UI.createWindow();
var data = [
{title:"Row 1"},
{title:"Row 2"},
{title:"Row 3"}
];
var tableView = Ti.UI.createTableView({
data: data
});
data = [
{title:"Row 1"},
{title:"Row 2"},
{title:"Row 3"},
{title:"Row 4"},
{title:"Row 5"},
];
win.addEventListener('focus',function(){
tableView.setData(data);
});
win.add(tableView);
win.open();