Ext 4.1.1:向 Store 添加新记录

Posted

技术标签:

【中文标题】Ext 4.1.1:向 Store 添加新记录【英文标题】:Ext 4.1.1: Add new record to Store 【发布时间】:2012-07-18 15:38:10 【问题描述】:

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

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

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

有什么想法吗?

【问题讨论】:

【参考方案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' );
    
);

【讨论】:

【参考方案2】:

您需要在组合框中设置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
    );
); 

【讨论】:

以上是关于Ext 4.1.1:向 Store 添加新记录的主要内容,如果未能解决你的问题,请参考以下文章

动态添加和删除商店石斑鱼

在 Ext JS 4 中通过 store.sync() 更新记录后,记录翻倍

ExtJS 存储添加调用创建和销毁

ExtJs之Ext.data.Store

如何在 ExtJS 3.4 中添加/合并多个 Ext.data.JsonStore

如何定义将组件添加到 DataItem 的顺序