2015-11-29 5 views
0

У меня есть Extjs проект и файлы следующим образом:Как сгенерировать представление, после щелчка по узлу treelist в ExtJS?

приложение:

-> Вид -> Главная -> MainController.js

-> Вид -> Категории -> CategoriesController.js

классика:

-> VI РЭБ

-> главная -> Main.js

-> Категории -> Categories.js

И я использую TreeList к этому.

Теперь, когда пользователь нажимает на узлы твистов, генерирует представление. например: при нажатии на узел категории сгенерируйте представление Category.js.

Как это сделать?

+2

Взгляните на примеры в загруженном файле extjs zip. Существует папка с шаблоном администратора и панель управления. Или прочитайте руководства в документах. Но вы можете настроить область вашего центра просмотра в виде макета карты и активировать представления для нее. – Tarabass

+0

Извините, я редактировал свой вопрос. –

ответ

1

Необходимо связать слушателя с treelist, чтобы обрабатывать событие щелчка пользователя (на вид, который включает в себя treelist). Вы можете прослушать событие selectionchange.

{ 
    xtype: 'treelist', 
    store: 'NavigationTree', 
    listeners: { 
    selectionchange: 'onNavigationTreeSelectionChange' 
    } 
} 

onNavigationTreeSelectionChange На обработчиком (на контроллере представления), необходимо создать новое представление, основанное на перешедших свойств узла. Что-то вроде:

onNavigationTreeSelectionChange: function (tree, node) { 
    console.log('onNavigationTreeSelectionChange'); 
    var tp = this.getPlanPresentationBar(); 
    var newView; 
    if (node && node.get('extjsview')) { 
     switch (node.get('extjsview')) { 
      case 'Category': 
       newView = new MyApp.view.Category({}); 
       break; 
      case 'sync.Sync': 
       newView = new MyApp.view.sync.Sync({}); 
       break; 
      default: 
       break; 
     } 
     tp.add(newView); 
    } 
}, 

Является ли этот пример, мы используем свойство extjsview узла, чтобы узнать, какой вид для создания (если проверить, если пользователь нажал на узел категории). В примере кода newView добавляется к существующей вкладке, но это действительно зависит от остальной части вашего приложения.

Как уже упоминалось, Tarabass, вы должны проверить Dashboard example.

+0

Спасибо, хорошая идея ... –