1

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

我有一个选项卡栏,其中每个选项卡都打开此 NavigationView 容器,根据点击的选项卡添加 NavigationView 容器内的面板视图使用的商店中的一些额外参数。

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

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

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 的子列表。

4

1 回答 1

0

您可以将 onDisclosureItem:true 提供给您的列表,并在控制器中提供一个公开事件,以便在公开时它将加载子类别并在项目点击时将您导航到另一个视图

'placesContainer categorie list':{
            itemtap: 'chooseCategory',
            disclose: 'openSubCategory'
        },
于 2013-03-20T10:53:38.000 回答