我試圖使用此示例並將基本CRUD添加到樹中。如何從樹中刪除項目
http://dev.sencha.com/deploy/ext-4.0.0/examples/tree/treegrid.html
現在,我只想從樹中刪除項目。我已添加按鈕,並點擊此按鈕:
click : function() {;
var record = tree.getSelectionModel().getSelection()[0];
store.destroy(record);
store.sync();
}
我已驗證記錄和商店存在。該例子中的商店是TreeStore類型的。如果我檢查發送的請求,它只是[]
。所有我在我此刻的代理是這樣的:
var store = Ext.create('Ext.data.TreeStore', {
storeId : 'treeStore',
model : 'Task',
proxy : {
type : 'ajax',
// the store will get the content from the .json file
url : '../resources/data/treegrid.json'
},
folderSort : true
});
點擊刪除不刪除當前選中的項目。我是否需要在代理中設置適當的銷燬URL,以及爲什麼它不發送關於請求頭中需要刪除的內容的任何細節?沒有其他的例子可以從我能找到的樹上做CRUD。
編輯:
需要注意的是,使用store.destroy(record)
混亂的原因是Ext.data.Store有一個方法remove(record)
但Ext.data.TreeStore沒有。另外,銷燬的簡寫方法是record.destroy()
而不是record.remove(true)
。
不過請注意,我收到這樣record.destroy()
或record.remove(true)
錯誤。據推測,商店需要保留以JSON形式發送的節點,所以請改用record.remove()
。
謝謝,我的部分愚蠢的錯誤:)我還可以在發送到代理之前用'store.getRemovedRecords()'看到已刪除的項目。 –
我用'record.remove()',否則會給出錯誤。 –