2012-02-09 5 views
1

Я пытаюсь добавить новый узел в дерево в ExtJS 4.0.2 с помощью метода insertBefore класса Ext.data.NodeInterface.Ext.data.NodeInterface insertBefore не является функцией

Но я все еще получаю ошибку: «InsertBefore не является функцией»

var config = { 
    allowDrag: false, 
    allowDrop: false, 
    cls: 'myClass', 
    iconCls: 'myIconClass', 
    leaf: true, 
    text: 'someText' 
}; 
var node1 = Ext.create('Ext.data.NodeInterface', config); 
var node2 = Ext.create('Ext.data.NodeInterface', config); 
var node3 = null; 

node1.insertBefore(node2, node3); // "node1.insertBefore is not a function" 

Любая идея, что может быть не так?

ответ

1

Из документов: In general this class will not be used directly by the developer. При осмотре node1 вы заметите, что на самом деле у этой функции нет.

Я думаю, вам действительно понадобится функция Ext.data.NodeInterface.createNode(), чтобы создать экземпляры Ext.data.Record с применением этого интерфейса.

+0

Да, Ext.data.NodeInterface.createNode() помог. Теперь я использую его:
var node1 = treeStore.getRootNode(); var node2 = node1.createNode (config); var node3 = null; node1.insertBefore (node2, node3); Он работает нормально. Большое спасибо. – Bammal