javascript - 如何创建通用的 ExtJS 组合框商店?

标签 javascript extjs extjs4 extjs4.1

我想为组合框创建一个通用的 Extjs 商店。

商店应该能够:

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

我怎样才能实现这个目标?

这就是我的开始:

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

使用ExtJS 4.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
                    };
                }
            }
        }
    });
}

关于javascript - 如何创建通用的 ExtJS 组合框商店?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17279024/

相关文章:

javascript - 如何使用客户端语言实现 facebook 和 g+ 之类的链接预览

javascript - 在 Extjs 4 中向弹出窗口添加覆盖指针?

javascript - ExtJs 6.0.0.640 - Ext.view.View - 多选配置不起作用

javascript - 在 extjs 网格中仅添加一行组合框

javascript - 在 extjs4 中如何在另一个函数中调用函数?

javascript - 为什么我的 Polymer iron 图标出现在我的导航纸输入下方?

javascript - 曾经工作但最近在 Chrome 中坏了

javascript - 使用 jQuery 的 Deferred 管理同步和异步 JavaScript 函数

ExtJS 5 从对象创建动态面板

extjs - 动态添加项目到边框视口(viewport)