Extjs 4 Установите каждый элемент идентификатор

StackOverflow https://stackoverflow.com/questions/5826321

  •  26-10-2019
  •  | 
  •  

Вопрос

Поэтому я работаю с новым EXT после шаблонов MVC, создавая контроллеры, которые прослушивают события, чтобы выстрелить методами. У меня есть представление с деревом, загруженным как меню администратора, и я хочу прослушать контроллер «пользователей», когда нажимается элемент дерева «Список всех пользователей», чтобы я мог показать сетку со всеми пользователями. Моя логика говорит, что я должен установить идентификатор каждому элементу дерева, чтобы убедиться, что я слушаю правильное и возможным ... проблема, хотя я отправляю и идентификатор своему JSON на каждом элементе, это никогда не назначается. Идентификаторы элементов по-прежнему имеют тип идентификаторов элементов ext-Gen1091 '.

Есть идеи, как мне присвоить уникальный идентификатор каждому из моих элементов дерева?

Мой json выглядит так:

{"expanded":"true","text":"Users","id":"users","children":[{"text":"List all users","id":"userslist"....
Это было полезно?

Решение

Вам не нужно использовать HTML -идентификаторы для определения записи, с которой вы обрабатываете. ExtJS предоставляет API, которые позволяют вам легко справляться с операциями, слушать события и т. Д. На дереве или других компонентах.

С тех пор, как у вас уже есть идентификатор, назначенный каждому узлу на дереве. Вы можете использовать тот же идентификатор для работы, когда происходит действие / событие. Все, что вам нужно сделать, это добавить соответствующие методы слушателя событий на панель дерева. Например, если вы отслеживаете нажмите на узел, вы можете использовать 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.
}

Точно так же вы можете использовать другие события и отслеживать действия пользователей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top