Я использую Extjs 6. При добавлении записи в дерево возникает ошибка "Uncaught TypeError: Cannot read property 'internalId' of null"
.
Мой магазин:
var urlRoot = 'data?model=Storage&method=';
Ext.define('BookApp.store.StorageStore', {
extend: 'Ext.data.TreeStore',
model: 'BookApp.model.Storage',
storeId: 'StorageStore',
requires: 'BookApp.model.Storage',
autoSync: true,
proxy: {
type: 'ajax',
noCache: false,
actionMethods: {update: 'GET',create: 'GET',destroy: 'GET'},
api: {
create: urlRoot + 'Create',
destroy: urlRoot + 'Destroy',
read: urlRoot + 'Read'
},
reader: {
type: 'json',
rootProperty: 'children',
successProperty: 'success'
},
writer:{
type:'json',
allowSingle:false
}
},
});
Возвращенные данные с сервера "метод read ", который отображается в дереве, выглядит следующим образом:
({"text": "Storage", "expanded": "true", "children": [{"text": "Title 1", "id": 9, "expanded": true, "children": [{"text": "Test 1", "id": 10, "leaf": true}, {"text": "Test 2", "id": 11, "leaf": true}, {"text": "my-record", "id": 15, "leaf": true}]}, {"text": "Title 2", "id": 12, "expanded": true, "children": [{"text": "Test 3", "id": 13, "leaf": true}, {"text": "Test 4", "id": 14, "leaf": true}]}, {"text": "Title3", "id": 16, "leaf": true}, {"text": "my-record", "id": 17, "leaf": true}]})
Модель выглядит следующим образом:
Ext.define('BookApp.model.Storage', {
extend: 'Ext.data.Model',
fields: [{ name: 'id', type: 'auto' },
'id_parent_id',
'name',
'code',
]
});
В контроллере я слушаю нажатие кнопки добавления и добавляюзапись в функции:
....
saveTreeNode: function (button) {
var win = button.up('panel'),
form = win.down('form'),
values = form.getValues();
var store_storage = this.getStorageStoreStore('StorageStore');
var node = [{
"id_parent_id": 0,
"name": "Hello Im new record",
"code": 111
}];
model = Ext.create('BookApp.model.Storage', node);
store_storage.add(model);//An error occurs during execution
console.dir(store_storage);
},
.....
При запуске store_storage.add (model);
возникает ошибка "Uncaught TypeError: Cannot read property 'internalId' of null"
Само дерево отображается корректно, проблема возникает при добавлении новой записи
Следующие статьи по этой проблеме не дают мне решения моей проблемы:
Uncaught TypeError: Невозможно прочитать свойство 'internalId' из неопределенного
Uncaught TypeError: Невозможно прочитать свойство 'internalId' из неопределенного (WHILE SORTING NODES ON EXPAND)
extjs обновить хранилище дерева
Что может быть причиной проблемы