Javascript 使用getGroups方法的ExtJS中的问题
我使用ExtJS4。控制器用户加载同一型号的多个选项卡。“组”列中每个选项卡的名称。名为“default”的选项卡是标准选项卡。以下是来自控制器的一些代码:Javascript 使用getGroups方法的ExtJS中的问题,javascript,extjs,Javascript,Extjs,我使用ExtJS4。控制器用户加载同一型号的多个选项卡。“组”列中每个选项卡的名称。名为“default”的选项卡是标准选项卡。以下是来自控制器的一些代码: onLaunch: function(app) { var self = this; this.getUserStore().on("load", function(store) { var groups = store.getGroups(); for (tab in self.tabs)
onLaunch: function(app) {
var self = this;
this.getUserStore().on("load", function(store) {
var groups = store.getGroups();
for (tab in self.tabs)
try
{
Ext.ComponentQuery.query("#mainLayout")[0].remove(self.tabs[tab], true);
}
catch (err)
{
if (console)
console.log(err, "Happened, but it's okay");
}
self.tabs = [];
for (var i = 0; i < groups.length; i++) {
if (groups[i].name == "default")
continue;
var newStore = Ext.create("al.store.User2");
newStore.loadRecords(groups[i].children);
var id = "tab-id-" + groups[i].name;
try
{
Ext.ComponentQuery.query("#mainLayout")[0].add({
xtype: 'userlist',
title: groups[i].name,
id: id,
store: newStore
});
}
catch (err)
{
alert(err);
}
self.tabs.push(id);
}
store.clearFilter(true);
store.filter([{id: "class", property: "group", value: "default"}]);
});
},
refresh: function() {
this.getUserStore().load();
},
onLaunch:function(应用程序){
var self=这个;
this.getUserStore().on(“加载”,函数(存储){
var groups=store.getGroups();
用于(self.tabs中的选项卡)
尝试
{
Ext.ComponentQuery.query(“#mainLayout”)[0]。删除(self.tabs[tab],true);
}
捕捉(错误)
{
if(控制台)
log(呃,“发生了,但没关系”);
}
self.tabs=[];
对于(变量i=0;i
问题是,当您第一次加载时,一切正常,但当用户尝试更新选项卡(方法“刷新”)时,除了标准选项卡之外,所有选项卡都丢失了。方法“store.getGroups()”中存在问题。此方法在第一次加载时正常工作,但当用户尝试更新选项卡时,此方法将提供0个组。如何解决这个问题?看来,第二次加载存储时,它不会获取任何数据。验证请求是否有效(包含(所有最终)参数)以及该请求是否返回数据 希望有帮助:) 附言 如果不是这样,请向我展示存储、模型和示例性请求以及响应数据 ps2
还有一件事-你把它描述成什么“标签”?我不理解“模型选项卡”。似乎是因为
过滤器的缘故。在load
处理程序的末尾,您设置了过滤器,该过滤器设置为仅显示默认组。刷新功能在哪里?非常感谢!我是ExtJS的新手,下次我会更加专注。