在我的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的子列表。
答案 0 :(得分:0)
您可以将onDisclosureItem:true添加到您的列表中,并在控制器中提供披露事件,以便在披露时会加载子类别,在项目点击时它会导航到其他视图
'placesContainer categorie list':{
itemtap: 'chooseCategory',
disclose: 'openSubCategory'
},