0

下面是我创建网页/应用程序并显示列表的片段。然后单击列表中的项目,我想用另一个列表替换列表。我通过使用垂直面板作为根容器并清除并添加列表来尝试它。即使在新列表的处理程序执行良好后,网页仍然显示旧列表。

//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);
}

问候,

米腾。

4

1 回答 1

1

您的listFolders()函数没有返回新的 UI 实例。尝试:

function listFolders(e){
  var repo = e.parameter.repo;
  var app = user_list(repo);
  return app;
}
于 2013-07-22T13:13:03.627 回答