Ext 4.1.1:向Store添加新记录

时间:2012-07-19 12:39:28

标签: extjs combobox store extjs4.1

我想在商店初始化后添加记录。

我尝试了loadData()loadRawData()add(),但没有任何接缝可以使用。

这是我的jsfiddle:http://jsfiddle.net/charlesbourasseau/zVvLc

有什么想法吗?

2 个答案:

答案 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' });
    }
});