Sencha Touch 2:NavigationView的多个实例(每个选项卡一个):控制器推送的每个面板在第一个选项卡中打开

时间:2013-02-10 16:24:58

标签: list sencha-touch-2

在我的sencha touch应用程序中,我有一个NavigationView容器,它加载一个包含从商店呈现的列表的面板视图。

我有一个标签栏,其中每个标签打开此NavigationView容器添加,具体取决于点击的标签,在NavigationView容器内面板视图使用的商店中的一些额外的副本。

这个工作正常,对于每个选项卡,我获得了NavigationView容器,并在其中包含了包含该选项卡的正确列表的面板视图。

问题是这些列表在点击列表项时需要加载一些子列表。我使用以下控制器执行此操作,该控制器将NavigationView容器推入包含子列表的另一个视图Panel:

Ext.define('FirstApp.controller.Details', {
extend: 'Ext.app.Controller',
config: {
    refs: {
        // this is my NavigationView container 
        placesContainer:'placesContainer'    
    },
    control: {

'placesContainer categorie list':{
            itemtap: 'chooseCategory' 
        },

我的chooseCategory函数是:

chooseCategory:function(list,index,target,record){
            //these add some extra params to my store's proxy
    Ext.getStore('Articoli').getProxy().setExtraParams({ catid: record.data.id });
    Ext.getStore('Articoli').load();

    this.getPlacesContainer().push({
        // this is the target view panel
        xtype:'articoli',
        title:record.data.title,
        data:record.data
    })

}

这非常有效,但是当您单击列表项时,其子列表将被推送到第一个选项卡面板中。 示例:我点击第3个选项卡。该应用程序显示与第3个选项卡对应的列表。我点击其中一个列表的项目。该应用程序在第一个选项卡面板中加载其子列表。在点击第一个标签之前,我看不到任何变化。在那里,我可以看到加载了标签3的子列表。

1 个答案:

答案 0 :(得分:0)

您可以将onDisclosureItem:true添加到您的列表中,并在控制器中提供披露事件,以便在披露时会加载子类别,在项目点击时它会导航到其他视图

'placesContainer categorie list':{
            itemtap: 'chooseCategory',
            disclose: 'openSubCategory'
        },