所以我有一个组合框,可以在扩展时重新加载它的商店。我能够让商店更新,但我似乎无法让组合框在商店中显示新信息。它不断显示旧信息。我已经使用了几乎所有的方法,并且已经搞砸了好几个小时。我也被迫使用extjs 3.4。
我的代码的一般概念:
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();
}
}
});
答案 0 :(得分:2)
真的很老的问题,但也许它仍然可以帮助某人。我认为你正在接近这个错误。如果您希望每次打开组合框时都重新加载商店,那么您应该删除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;
}
}
});
答案 1 :(得分:-1)
我会尝试更改模式:本地到远程。