在Ext.tree.panel中的特定位置插入节点
Insert a node at a specific location in Ext.tree.panel
我正在尝试更改这个ext-js树网格示例:http://dev.sencha.com/deploy/ext-4.0.1/examples/tree/treegrid.html
我只想在特定位置添加一个节点。
我试过这个:
var treePanel = Ext.getCmp('treePanel');
var selNode = treePanel.getSelectionModel().getSelection()[0];
var appendedChild = selNode.appendChild({
task: 'Task1',
user: 'Name',
duration: '10',
leaf: true
});
它没有给出任何错误,但UI不会更新与selNode.insertChild(0, ..
相同,它运行时没有错误,但UI不会更新。
不知怎的,这个工作:
var node = treePanel.store.getRootNode();
node.appendChild({
task: 'Task3',
user: 'Name',
duration: '10',
leaf: true
});
那么,我如何根据用户选择在特定位置附加/插入呢。
以下是我的完整代码:http://jsfiddle.net/4T68s/
我将存储更改为静态数据,因为获取json
数据的跨域请求不起作用。
在添加子节点之前,应将节点上的leaf
属性更改为false
:
selNode.set('leaf', false);
工作样品:http://jsfiddle.net/lolo/4T68s/6/
如果要附加节点,则新的父级不能是叶。我已经更新了您的代码,为您提供了一个示例,说明如何在正确的位置添加节点,以及如何更改图标,使其看起来不像父文件夹图标,我认为这是您试图避免的。
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属性设置图标图像src或iconCl以使用CSS。尽管CSS方式有一个错误。由于某种原因,它保留了x-tree-icon-parent类。
相关文章:
- 在地图加载/页面加载时,我想将地图设置为当前地理位置,但不想在地图上显示定位图标
- JQuery定位:我可以滚动到正确的位置一次,但不能滚动两次
- 如何在jquerymobile中同时放置两个定位的经纬度位置
- Javascript / 根据一个元素的位置定位另一个元素
- 如何定位“隐藏”的 iframe?(应用程序:链接到嵌入“隐藏的海报图像”嵌入的 Youtube 视频的起始位置)
- 与位置的相对定位:绝对
- 在没有“位置”属性的情况下实现绝对定位,使用边距/填充
- 用于相对于用户在约束内单击的位置定位框的数学公式
- 运行地理位置定位的 js 文件
- 如果定位服务关闭,英特尔 XDK 地理位置将找不到纬度/经度
- 在 iPad 上绝对定位不会将元素设置在所需位置
- 如何使用 jQuery 计算相对定位元素的绝对位置*没有*
- 如果php返回位置头,我如何在jquery ajax中定位页面
- 试着根据父母的位置来定位孩子
- 地理定位api没有给出准确的用户位置
- 定位父元素,使子元素处于完全相同的位置
- 如何在Javascript/Mootools中根据页面上不同对象的位置定位箭头
- 使用javascript查找元素相对于最近相对定位的父元素的位置
- 多个谷歌位置请求功能(药房定位器)
- 点击html5地理定位当前位置,然后减去两点