我想在商店初始化后添加记录。
我尝试了loadData(),loadRawData(),add(),但没有任何接缝可以使用。
这是我的jsfiddle:http://jsfiddle.net/charlesbourasseau/zVvLc
有什么想法吗?
答案 0 :(得分:13)
您需要在组合框中设置queryMode: 'local'
。最小的例子:
Ext.onReady(function() {
var store = Ext.create('Ext.data.Store', {
alias: 'store.ModeStore',
autoLoad: false,
fields: [{
name: 'mode',
type: 'string'
}, {
name: 'id',
type: 'string'
}],
data: [{
mode: 'mode1',
id: 1
}]
});
var container = Ext.create('Ext.form.field.ComboBox', {
renderTo: Ext.getBody(),
displayField: 'mode',
valueField: 'mode',
store: store,
queryMode: 'local'
});
store.add({
mode: 'mode2',
id: 2
});
});
答案 1 :(得分:1)
对于面板,您可以通过remove()
和add()
var store = Ext.create('MyApp.store.Roles', {autoLoad: false});
store.load(function(records, action, success) {
if (success) {
store.remove(store.findRecord('id', 50, 0, false, true, true));//exact match
store.add({'id':110,'name':'Agent' });
}
});