在提交另一个表格后,ExtJS组合框将不会重新加载商店

时间:2010-12-07 15:43:42

标签: combobox extjs

我在同一页面上打开了一个组合框和一个窗体窗口。 组合框代码是:

combo1 = new Ext.form.ComboBox({
    fieldLabel: 'Intrested in',
    hiddenName: 'interest',
    store: new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({
            url: 'ajax.php',
            method: 'GET'
        }),
        reader: new Ext.data.JsonReader({
            root: 'rows',
            fields: [{
                name: 'myId'
            }, {
                name: 'displayText'
            }]
        })
    }),
    valueField: 'myId',
    displayField: 'displayText',
    triggerAction: 'all',
    emptyText: 'Select',
    selectOnFocus: true,
    editable: false
});    

第一次正确加载从SQL表中获取的列表。

在同一页面上有一个窗口,其中包含向sql数据库提交新值的简短表单, 但在提交并打开组合框后,列表不会刷新。

只有在再次提交表格后,我才能看到之前添加的值。

为什么第一次提交后组合框不会自动重新加载?

1 个答案:

答案 0 :(得分:4)

这里的问题是,combobox在内部缓存所谓的“最后一个查询” - 如果没有改变,它不会从商店重新加载其数据。所以解决方案是重置这个“最后查询”参数:

combo1.lastQuery = null;