1

私の sencha touch アプリには、ストアからレンダリングされたリストを含むパネル ビューをロードする NavigationView コンテナがあります。

各タブがこの NavigationView コンテナを開くタブバーがあり、タップされたタブに応じて、NavigationView コンテナ内のパネル ビューで使用されるストア内のいくつかの追加パラメータが追加されます。

これは正常に機能しており、各タブに対して NavigationView コンテナを取得し、その中にそのタブの正しいリストを含むパネル ビューを取得します。

問題は、これらのリストには、リスト項目をタップするときにロードする必要があるいくつかの子リストがあることです。子リストを含む別のビュー Panel を 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 番目のタブをタップします。アプリは、3 番目のタブに対応するリストを表示します。リストの項目の 1 つをタップします。アプリは、その子リストを最初のタブ パネルに読み込みます。最初のタブをタップするまで変更が表示されません。そこに、タブ 3 の子リストが読み込まれていることがわかります。

4

1 に答える 1

0

onDisclosureItem:trueをリストに指定し、コントローラーで開示イベントを指定して、開示時にサブカテゴリをロードし、アイテムをタップすると他のビューに移動するようにすることができます。

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