ExtJS 4 从商店中删除项目

ExtJS 4 remove item from store

我要删除商店的第一个项目:

我的商店代码:

Ext.define('Test.store.filtros.strEstadosMtoOrganismos', {
extend: 'Ext.data.Store',
model:  'Test.model.filtros.mdlEstadosMtoOrganismos',
autoLoad: false,
proxy: {
    type: 'ajax',
    api: {read: 'some url'},
    reader: {
                type: 'json',
                root: 'data',
                totalProperty: 'total',
                successProperty: 'success'
    }
}
});

我的组合代码:

xtype: 'combo',
                id: 'tfecomboEstados',
                fieldLabel :'Estado',
                queryMode: 'local',
                editable: false,
                displayField: 'label',
                valueField: 'value',
                store: 'filtros.strEstadosMtoOrganismos',
                anchor: '95%'

我的控制器代码:

init:function(){
this.control({
'viewFichaMtoOrganismos #tfecomboEstados':{
            beforerender:this.onCargarEstadoFicha
        });
},
onCargarEstadoFicha:function(){
    Ext.getCmp('tfecomboEstados').getStore().removeAt(0);
}

我想删除 store.I 的第一项,将存储用于两个组合,在一个中我想要所有记录,但在第二个中我想要除第一个以外的所有记录。 removeAt(0) 不工作。

您不能仅仅从商店中删除记录来影响一个组合而不影响另一个组合。你的组合需要不同的商店。

也可以在监听函数中使用参数,而不是通过 getCmp 函数获取参数

onCargarEstadoFicha:function(combo){ combo.getStore().removeAt(0); }