2015-11-29 43 views
0

我有一個ExtJS的項目和文件如下:如何在ExtJS中點擊treelist節點後生成視圖?

應用:

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

- >查看 - >類別 - > CategoriesController.js

經典:

- >六EW

- >主 - > Main.js

- >類別 - > Categories.js

而且我用樹形列表來此。

現在,我想要當用戶點擊trellist節點生成視圖。例如:當點擊類別節點時,生成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被添加到一個現有的tabpanel,但它確實取決於應用程序的其餘部分。

正如Tarabass所述,您應該檢查Dashboard example

+0

謝謝,好主意... –

相關問題