下面是我创建网页/应用并显示列表的片段。然后单击列表中的项目我想用另一个列表替换列表。我通过使用垂直面板作为根容器并清除并添加列表来尝试它。即使在新列表的处理程序执行正常后,网页仍会显示旧列表。
//user_list function updates vertical panel but the web page still shows old rep_list
function doGet(e) {
if(e == null || e.parameter.dvid == null) {
return rep_list();
}
}
function user_list(path) {
var app = UiApp.getActiveApplication().setTitle("List Folders");
var content = app.getElementById('root');
content.clear();
var list = app.createListBox();
//populate list
content.add(list);
return app;
}
function rep_list () {
var app = UiApp.createApplication().setTitle("List Repositories");
var content = app.createVerticalPanel().setId('root');
var list = app.createListBox(true).setId('repoList').setName('repo');
var handler = app.createServerHandler("listFolders");
list.addClickHandler(handler)
//populate list
content.add(list);
app.add(content);
return app;
}
function listFolders(e){
var repo = e.parameter.repo;
user_list(repo);
}
此致
米滕。
答案 0 :(得分:1)
您的listFolders()
函数未返回新的UI实例。尝试:
function listFolders(e){
var repo = e.parameter.repo;
var app = user_list(repo);
return app;
}