Extjs 3.4如何强制组合框重新加载其下拉列表

时间:2013-12-09 20:06:27

标签: javascript extjs combobox

所以我有一个组合框,可以在扩展时重新加载它的商店。我能够让商店更新,但我似乎无法让组合框在商店中显示新信息。它不断显示旧信息。我已经使用了几乎所有的方法,并且已经搞砸了好几个小时。我也被迫使用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();
        }
    }        
});

2 个答案:

答案 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)

我会尝试更改模式:本地到远程。