Добавление new Ext.tree.TreeEditor(yourTree);
будет достаточно, чтобы сделать дерево редактируемым.
Но вы можете определить гораздо больше, используя два других параметра контуров:
var te = new Ext.tree.TreeEditor(tree, new Ext.form.NumberField({
allowBlank: false,
blankText: 'A number is required'
}), {
editDelay: 100,
revertInvalid: false
});
te.on("complete", function(node) {
alert(node.startValue + ' -> ' + node.editNode.text);
});
Там я использовал NumberField, чтобы вы могли вводить там только цифры.
И вы можете ограничить издание, используя editable
свойство каждого TreeNode (да, тот, который вы упомянули), или используя beforestartedit
событие TreeEditor :
te.on('beforestartedit', function(ed, boundEl, value) {
if (ed.editNode.leaf)
return false;
});
На jsbin.com / ExtJS-TreeEditor / 2 у вас есть живой пример, который я сделал на основе примера Sencha Treebox PanelPanel , разница в том, что вы можете редактировать узлы папок на моем примере.
Просто выберите папку и затем снова щелкните по этой папке, редактор (NumberField) должен появиться над именем папки.