ExtJS проблема вставки нового дочернего элемента в древовидную панель

Я пытаюсь заселить дерево по требованию. Я фиксирую событие doubleclick, и это код в моем контроллере:

itemdblclick: function(item, record, eOpts) {
       console.log(item, record, eOpts);
       var store = Ext.getStore('mystoreid');
       var node = store.getRootNode().findChild('idelement', record.data.idelement, true);

       node.insertChild(
           {
               idelement: 颼',
               descript: 'AAAAA',
               active: true,
               idparent: record.data.idelement,
               name: �',
               text: 'Show yourself, please!',
               leaf: true,
               loaded: true,
               children: []
           }
       );

       node.expand();
    }

Этот код показывает мне эту ошибку:

Uncaught TypeError: Cannot read property 'isModel' of undefined
    at constructor.createNode (ext-all-debug.js:108050)
    at constructor.appendChild (ext-all-debug.js:108224)
    at constructor.insertChild (ext-all-debug.js:108790)
    at constructor.loadRecords (SelectorNiveles.js:79)
    at constructor.fire (ext-all-debug.js:20731)
    at constructor.dispatch (ext-all-debug.js:57952)
    at constructor.callParent (ext-all-debug.js:12493)
    at constructor.dispatch (ext-all-debug.js:58196)
    at constructor.prototype.doFireEvent (ext-all-debug.js:58109)
    at constructor.fireEventArgs (ext-all-debug.js:21553)

Я безуспешно пытался найти решение. Я использую Firefox, Chromium и Extjs 6.0.2, что я делаю не так?

Всего 1 ответ


Не знаю, является ли это источником вашей ошибки, но в соответствии с документацией вам нужно передать index перед тем узлом, который вы хотите добавить:

node.insertChild(
           0,{
               idelement: 颼',
               descript: 'AAAAA',
               active: true,
               idparent: record.data.idelement,
               name: �',
               text: 'Show yourself, please!',
               leaf: true,
               loaded: true,
               children: []
           }
       );

Есть идеи?

10000