如何创建一个通用的 ExtJS 组合框存储?
Posted
技术标签:
【中文标题】如何创建一个通用的 ExtJS 组合框存储?【英文标题】:How to create a generic ExtJS combo box store? 【发布时间】:2013-06-24 15:17:34 【问题描述】:我想为组合框创建一个通用的 Extjs 存储。
商店应该能够:
-
获取网址
使用代理从服务器读取数据
应该适用于任何型号
我怎样才能做到这一点?
这是我要开始的:
Ext.create('Ext.data.Store',
proxy:
type: 'ajax',
url: rawURL,
reader:
type: 'json'
)
使用ExtJS 4.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
;
);
【讨论】:
以上是关于如何创建一个通用的 ExtJS 组合框存储?的主要内容,如果未能解决你的问题,请参考以下文章
EXTJS:如何在组合框上自动完成查询后从数据存储中清除“查询”参数