【问题标题】:How to create a generic ExtJS combo box store?如何创建一个通用的 ExtJS 组合框存储?
【发布时间】:2013-06-24 15:17:34
【问题描述】:

我想为组合框创建一个通用的 Extjs 存储。

商店应该能够:

  1. 获取网址
  2. 使用代理从服务器读取数据
  3. 应该适用于任何型号

我怎样才能做到这一点?

这是我要开始的:

Ext.create('Ext.data.Store', {
    proxy: {
        type: 'ajax',
        url: rawURL,
        reader: {
            type: 'json'
        }
    }
})

使用ExtJS 4.1

【问题讨论】:

    标签: javascript extjs extjs4 extjs4.1


    【解决方案1】:
    function getGenericStore(storeURL, valField, dispField) {
        var modelName = 'Model' + me.id;
        var model = Ext.define(modelName, {
            extend: 'Ext.data.Model',
            fields: [
                {name: valField, type: 'string'},
                {name: dispField, type: 'string'}
            ]
        });    
        return Ext.create('Ext.data.Store', {
            proxy: {
                type: 'ajax',
                model: model,
                url: storeURL,
                reader: {
                    type: 'json',
                    read: function(response) {
                        var json = Ext.decode(response.responseText);
                        var records = [];
                        Ext.each(json, function(item) {
                            var record = Ext.create(modelName);
                            record.set(val, item[val]);
                            record.set(display, item[display]);
                            records.push(record);
                        });
    
                        return {
                            success: true,
                            total: json.length,
                            count: records.length,
                            loaded: true,
                            records: records
                        };
                    }
                }
            }
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多