Если вы хотите добавить узлы, новый родитель не должен быть листом.Я обновил ваш код, чтобы дать вам пример того, как вы добавляете узел в нужном месте и как вы меняете значок, чтобы он не выглядел как значок родительской папки, чего, как я полагаю, вы пытаетесь избежать.
http://jsfiddle.net/4T68s/5/
Настройте свой магазин так, чтобы родительские узлы расширялись и загружались.
var store = Ext.create('Ext.data.TreeStore', {
model: 'Task',
root: {
expanded: true,
children: [
{
task: 'Settings',
leaf: false,
expanded: true,
children: [
{
task: 'System Settings',
expanded: true,
loaded: true,
icon: 'icon-leaf'},
{
task: 'Appearance',
expanded: true,
loaded: true,
}
]}
]
}
});
Затем вставьте новую модель, подобную этой.
var selNode = treePanel.getSelectionModel().getSelection()[0];
var newTask = Ext.create('Task');
newTask.set({
task: 'Task1',
user: 'Name',
duration: '10',
expanded: true,
loaded: true,
leaf: false,
icon: 'icon-leaf'
});
selNode.insertChild(0, newTask);
Это создаст новый родительский узел, к которому вы сможете добавить больше задач.Используйте свойство icon, чтобы установить изображение image src или iconCls, чтобы сделать это с помощью CSS.Хотя есть ошибка с образом CSS.По какой-то причине он сохраняет класс x-tree-icon-parent.