如何在ExtJS中点击treelist节点后生成视图?

问题描述:

我有一个ExtJS的项目和文件如下:如何在ExtJS中点击treelist节点后生成视图?

应用:

- >查看 - >主 - > MainController.js

- >查看 - >类别 - > CategoriesController.js

经典:

- >六EW

- >主 - > Main.js

- >类别 - > Categories.js

而且我用树形列表来此。

现在,我想要当用户点击trellist节点生成视图。例如:当点击类别节点时,生成Category.js视图。

我该怎么做?

+2

看看下载的extjs zip中的例子。有一个包含管理仪表板和执行仪表板的模板文件夹。或阅读文档中的指南。但你可以配置你的视口的中心区域作为卡片布局并激活它的视图。 – Tarabass

+0

不好意思,我编辑了我的问题。 –

您需要将侦听器与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被添加到一个现有的tabpanel,但它确实取决于应用程序的其余部分。

正如Tarabass所述,您应该检查Dashboard example

+0

谢谢,好主意... –