2017-04-10 64 views
0

我想删除Id的记录。例如,商店包含RoleId,RoleName fieds。通过extJs/Sencha的商店中的id删除记录

商店中有很多记录,我有RoleId从商店删除/删除记录。 belove代码我已经试过但没有工作..你能给我一些这方面的建议。

roleId = Ext.getStore('userStore').first().data.roleId; 
        var roleStore = Ext.getStore('userStore').first().companies().first().roles(); 
        roleStore.remove(roleStore.findRecord('roleId', roleId)); 

而且还试图...

roleId = Ext.getStore('userStore').first().data.roleId; 
        var roleStore = Ext.getStore('userStore').first().companies().first().roles(); 
        roleStore.removeAt(roleStore.find('roleId', roleId)); 
+0

第一件事情是一个缓冲的店吗?因为缓冲的商店不支持这种方法。如果它是正常的商店,那么你是否得到“roleStore.find('roleId',roleId)”的有效结果? – Tejas

+0

是roleId int还是string?如果它是整数,尝试使用parseInt以确保比较满足。据我记忆,sencha在find方法中使用===。 – abeyaz

回答

1

您可以直接试试这个,

roleId = Ext.getStore('userStore').first().data.roleId; 
var roleStoreItems = Ext.getStore('userStore').first().companies().first().roles().data.items; 
roleStoreItems.forEach(function(item,index){ 
if(item.data.roleId==roleId){ 
roleStoreItems.remove(index); 
} 
});