2016-09-26 4 views
0

좀 노드로 TreeMenu 있습니다TreeMenu에서 노드를 변경하는 방법?

{ 
    text: 'Test', 
    leaf: true 
} 

내가 TreeMenu에 리스너 연결 :

listeners: { 
    contextmenu: function(node, event) { 

    ContextMenu.showAt(event.getXY()); 
    event.stopEvent(); 

    } 
} 

을하지만 노드 변경하는 방법을 알고하지 않습니다

// HTML don't changed 
node.text = 'my value'; 

// Uncaught TypeError: node.reload is not a function 
node.reload(); 

UPD

나는이 방법으로 결정 :

node.setText('my value'); 

답변

1

나무는 store/루트 (NodeInterface)의 일종을 가지고있다. 저장소/루트에서 값을 변경하기 만하면 트리가 자동으로 변경됩니다.

대부분의 경우 node.text = 'my value'을 사용하지 마십시오. 단순한 개체가 아니기 때문입니다. https://fiddle.sencha.com/#fiddle/1hc1

나는 확실하지 않다 당신의 ExtJS의 정확한 버전을 사용하는이 바이올린은

handler: function() { 
     var tree = Ext.ComponentQuery.query('treepanel')[0]; 
     var child = tree.getRootNode().getChildAt(0); 
     child.set('text', 'Chaned text'); 
    } 

확인 :이 같은 것을 볼 수 있었다 변화에 대한 node.set('text', 'My Text');

핸들러 함수를 사용해야합니까? 내선 3? 다소의 개념은 모든 Ext 버전에서 동일해야합니다.