1

完整代码在这里

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

在此处输入图像描述

每当我单击任何列表项时,我都需要删除下面列表中显示“标签栏”的按钮。如您所见,按钮仍然存在,我需要将其删除。

在此处输入图像描述

这是我的视图代码

煎茶查看文件夹

主.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. back 将通过 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 回答