Javascript Extjs 3.4如何强制组合框重新加载其下拉列表
因此,我有一个组合框,在扩展时重新加载其存储。我可以更新商店,但我似乎无法让组合框显示商店中的新信息。它不断地显示旧信息。我几乎用过所有的方法,而且已经鬼混了几个小时。我还被迫使用ExtJS3.4 我的代码的总体思路:Javascript Extjs 3.4如何强制组合框重新加载其下拉列表,javascript,extjs,combobox,Javascript,Extjs,Combobox,因此,我有一个组合框,在扩展时重新加载其存储。我可以更新商店,但我似乎无法让组合框显示商店中的新信息。它不断地显示旧信息。我几乎用过所有的方法,而且已经鬼混了几个小时。我还被迫使用ExtJS3.4 我的代码的总体思路: codeFilterCombo = new Ext.form.ComboBox ({ id: 'filterByFlagField', allowBlank: true, editable: false, lazyRender: true,
codeFilterCombo = new Ext.form.ComboBox ({
id: 'filterByFlagField',
allowBlank: true,
editable: false,
lazyRender: true,
width: 220,
name: 'flagFilterCombo',
displayField: 'msg',
valueField: 'icon',
hiddenValue: 'icon',
hiddenId:'FlagFilterHidden',
hiddenName: 'FlagFilter',
triggerAction: 'all',
mode: 'local',
tpl: resultTpl,
listeners: {
expand: function() {
this.store.removeAll();
var data = getAvailableFlags();
this.store.loadData(data);
this.show();
}
}
});
我会尝试改变模式:本地到远程 我会尝试改变模式:本地到远程 这是一个很老的问题,但也许它仍能帮助某些人。我认为你的做法是错误的。如果希望每次打开组合框时都重新加载存储,则应该删除lastQuery 从文件中:
var combo = new Ext.form.ComboBox({
...
mode: 'remote',
...
listeners: {
// delete the previous query in the beforequery event or set
// combo.lastQuery = null (this will reload the store the next time it expands)
beforequery: function(qe){
delete qe.combo.lastQuery;
}
}
});
这是一个很老的问题,但也许它仍能帮助某些人。我认为你的做法是错误的。如果希望每次打开组合框时都重新加载存储,则应该删除lastQuery 从文件中:
var combo = new Ext.form.ComboBox({
...
mode: 'remote',
...
listeners: {
// delete the previous query in the beforequery event or set
// combo.lastQuery = null (this will reload the store the next time it expands)
beforequery: function(qe){
delete qe.combo.lastQuery;
}
}
});
你真的在控制台中看到商店的物品更新了吗?你真的看到组合中加载的gif了吗?是的,我可以在控制台中看到商店中更新的项目。我一步一步地走过这个过程,看看商店是怎样的。让组合框刷新这些信息似乎是我失败的地方。不,我没有看到加载文件。您是否确实在控制台中看到商店中更新的项目?你真的看到组合中加载的gif了吗?是的,我可以在控制台中看到商店中更新的项目。我一步一步地走过这个过程,看看商店是怎样的。让组合框刷新这些信息似乎是我失败的地方。不,我没有看到加载模式:远程只意味着我远程获取数据。但我不是。然而,纯粹出于病态的好奇心,我改变了设置,但没有任何帮助。相同的结果。模式:远程只意味着我远程获取数据。但我不是。然而,纯粹出于病态的好奇心,我改变了设置,但没有任何帮助。同样的结果。公平地说……我写这个问题时,文档中没有这一点;)公平地说……我写这个问题时,文档中没有这一点;)