与Ext.data.JsonStore连接的ExtJS 3 Combobox在第二次++点击时无法打开

时间:2012-01-13 16:00:41

标签: json extjs combobox store

我的Combobox出了问题。我构建了一个简单的组合框,它配置了一个JsonStore来提供远程数据。组合框在第一次单击时打开没有问题,请求JSON数据,Ext显示完整的下拉列表。

但是在第二次(有时是第三次)点击时,组合框既不会打开也不会加载任何远程数据。

这是我的配置:

    var config = {
        autoLoad: true,
        fields: [{
            name: 'name',
            type: 'string'
        }, {
            name: 'count',
            type: 'int'
        }, {
            name: 'created_at',
            type: 'int'
        }, {
            name: 'updated_at',
            type: 'int'
        }],
        root: 'result',
        idProperty: 'id',
        proxy: new Ext.data.HttpProxy({
            method: 'GET',
            url: '/myHandler/loadDropDownList'
        })
    };

组合框本身加载到工具栏中:

    var config = {
        height: 27,
        items: [{
            xtype: 'tbtext',
            text: 'Your preference?:',
            // @todo inline style -> CSS
            style: {
                'font-weight': 'bold',
                'color': '#15428B',
                'font-family': 'tahoma,arial,verdana,sans-serif',
                'font-size': '11px'
            }
        }, 
        '->',
        // align the following items on the right side of the toolbar
        {
            xtype: 'combo',
            itemId: 'table-combobox',
            store: new myStore(),
            valueField: 'name',
            displayField: 'name',
            value: ' - Please Choose - '
        }]
    }

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

每次选择数据库时,组合框都可能遇到问题。如果您不需要在整个用户会话期间更新组合框数据(即,用户单击组合框之间的下拉值不会发生变化),您可以将此配置添加到组合框中:

mode:'local',

(ExtJS4:queryMode:'local'

远程存储的数据将自动加载,并且每次下载时都不会重新查询数据库存储。