Extjs 4为每个项目设置一个id

时间:2011-04-28 23:40:44

标签: extjs tree extjs4

所以我正在使用新的Ext跟随MVC模式,创建控制器来监听查看事件以触发方法。我有一个视图,其中一个树作为管理菜单加载,我想在单击名为“列出所有用户”的树项目时从“用户”控制器收听,这样我就可以向所有用户显示网格。我的逻辑说我必须为每个树元素设置一个id,以确保我正在听正确的,唯一可能的一个...问题是,即使我发送和id到我的json上每个元素,它永远不会被分配。元素ID仍然具有'ext-gen1091'类型的元素ID。

我知道如何为每个树元素分配一个唯一的ID?

我的json看起来像这样:

{"expanded":"true","text":"Users","id":"users","children":[{"text":"List all users","id":"userslist"....

1 个答案:

答案 0 :(得分:0)

您无需使用HTML ID来标识您正在处理的记录。 ExtJS提供的API使您可以轻松地在树或其他组件上处理操作,监听事件等。

因为,您已经为树中的每个节点分配了id。发生操作/事件时,您可以使用相同的ID进行处理。您所要做的就是向树面板添加适当的事件侦听器方法。例如,如果您要跟踪点击某个节点,则可以使用itemclick。方法参数使您可以访问所需的所有信息。

这是骨架代码:

itemclick: function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {
   // Access the record using record or you can access the HTML using item variable.
}

同样,您可以使用其他事件并跟踪用户操作。