0

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

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

我的 json 看起来像这样:

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

1 回答 1

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.
}

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

于 2011-04-29T09:48:14.427 回答