2017-04-10 96 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); 
} 
});