如何更改 TreeMenu 中的节点?

How to change node in 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');

树必须有某种 store / root (NodeInterface)。您只需更改 store / root 中的值,树就会自动更改。

你不应该使用 node.text = 'my value' 因为在大多数情况下它不仅仅是简单的对象。你应该使用 node.set('text', 'My Text');

更改处理函数可能如下所示:

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

检查此 fiddle:https://fiddle.sencha.com/#fiddle/1hc1

我不确定您使用的是哪个版本的 ExtJS?分机 3?或多或少,所有 Ext 版本的概念应该是相同的。