1

完全なコードはこちら

ツールバーボタンで構成される次のSenchaAppネストリストがあります。

ここに画像の説明を入力してください

リスト項目をクリックするたびに、次のリストで「タブバー」と表示されているボタンを削除する必要があります。ご覧のとおり、ボタンはまだそこにあり、削除する必要があります。

ここに画像の説明を入力してください

これが私のビューコードです

煎茶ビューフォルダ

Main.js

Ext.define('firstApp.view.Main', {
extend : 'Ext.Container',
xtype : 'main',
requires: [
              'Ext.TitleBar',
              'Ext.Button',
              'firstApp.model.item',
              'firstApp.store.nList',
              'Ext.dataview.NestedList',
              'Ext.data.TreeStore'
              //'Ext.ToolBar'
              ] ,
config : {
    fullscreen : true,
    layout : 'fit',
    items : [{
        xtype : 'nestedlist',
        title: 'List View',
        displayField : 'text',
        store : 'nList',
        //toolbar:{
        toolbar:{
            items :[
                             {
                               xtype : 'spacer'
                              },
                             {
                               xtype : "button",
                               text : 'Tab View',
                               align: 'right',
                               ui : "action",
                               handler: function(){                    
                                          Ext.Viewport.animateActiveItem((
                                          Ext.create('firstApp.view.view2')),
                                          {type: 'slide', direction:'left'}).show();
                                                   }
                             }
                      ]
                   }
                }
           ]
     }
});

どうすればいいですか?親切に助けてください

4

1 に答える 1

7

http://www.senchafiddle.com/#33NZD

パルに行きます。

私がしたこと

  1. IDを割り当てた「タブ表示ボタン」
  2. ネストされたリストに2つのリスナーを追加しました
  3. itemtapはIDでボタンを取得し、それを非表示にして
  4. 戻るはIDでボタンを取得し、それを表示します

これがコードです

ボタンにIDを与えました

xtype : "button",
                        id: "btnTabView",
                        text : 'Tab View',
                        align: 'right',
                        ui : "action",
                        handler: function(){                    
                            Ext.Viewport.animateActiveItem((
                                Ext.create('firstApp.view.view2')),
                                                           {type: 'slide', direction:'left'}).show();
                        }  

ネストされたリストのリスナー

displayField : 'text',
store : 'nList',
listeners: {
    back: function( nList, node, lastActiveList, detailCardActive, eOpts ){
        if(node.getDepth() == 1){
            Ext.getCmp('btnTabView').show();
        }
    },
    itemtap: function( nList, list, index, target, record, e, eOpts ){
            Ext.getCmp('btnTabView').hide();
    }
},
于 2013-02-25T12:59:36.187 に答える