Sencha Touch:在嵌套列表中隐藏工具栏按钮?

时间:2013-02-25 08:38:12

标签: extjs sencha-touch sencha-touch-2 nested-lists

Complete Code is here

我有以下Sencha App嵌套列表,其中包含一个工具栏按钮。

enter image description here

每当我点击任何列表项时,我都需要删除下面列表中显示“Tab Bar”的Button。正如您所看到的,按钮仍然存在,我需要将其删除。

enter image description here

继承我的观看代码

Sencha查看文件夹

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();
                                                   }
                             }
                      ]
                   }
                }
           ]
     }
});

我应该怎么做?请帮助我

1 个答案:

答案 0 :(得分:7)

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

在这里你去Pal ..

我做了什么

  1. 为您分配了一个ID“标签视图按钮”
  2. 为您添加了两个监听器嵌套列表
  3. itemtap将按ID获取按钮并隐藏它并
  4. 返回将按ID获取按钮并显示
  5. 这是代码

    给我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();
        }
    },