java吧 关注:1,295,080贴子:12,828,298
  • 8回复贴,共1

tabPanel的隐藏与激活

只看楼主收藏回复

RT


1楼2013-08-07 15:43回复
    在ExtJS的Panel中有这两个方法
    Ext.panel.Panel.hide()
    Ext.panel.Panel.show()
    Ext.tab.Panel.setActiveTab()显示第一个tab被激活
    我想问一个关于这两个方法的问题
    想设置一个按钮btn
    使其能控制两个panel隐藏的同时 显示第三个panel被激活


    2楼2013-08-07 15:46
    回复
      2026-01-19 00:55:33
      广告
      不感兴趣
      开通SVIP免广告
      在一个panel中优先建立了两个tabPanel页
      var oneTab = addTabPage("1",APanel);
      var twoTab = addTabPage("2",BPanel);
      tabPanel.setActiveTab(oneTab);


      4楼2013-08-07 15:49
      回复
        这个function addTabPage如下代码
        var tabPanel = Ext.create('Ext.tab.Panel', {
        frame: false,
        fitToFrame: true,
        tabBar: {
        height: 22,
        defaults: {
        height: 22
        }
        },
        deferredRender: false
        });


        5楼2013-08-07 15:50
        回复
          function addTabPage(title, form) {
          var index = tabPanel.items.length + 1;
          for (var i = 0; i < tabPanel.items.length; i++) {
          var tab = tabPanel.items.getAt(i);
          var t = tab.title;
          if (t == title) {
          tabPanel.setActiveTab(tab);
          return false;
          }
          }
          var tabPage = tabPanel.add({
          xtype: 'panel',
          title: title,
          layout: 'fit',
          fitToFrame: true,
          closable: false
          })
          tabPage.add(form);
          return tabPage;
          }


          6楼2013-08-07 15:51
          回复
            此时想添加一个按钮 能控制这两个tabPanel页 使其隐藏 同时 新增一个tabPanel使其被激活


            7楼2013-08-07 15:51
            回复
              var addBtn = Ext.create('Ext.button.Button', {
              text: '我是隐藏AB新增C',
              iconCls: 'icon_add',
              handler: function () {
              tabPanel.hide(APanel) ;
              tabPanel.hide(BPanel) ;
              // tabPanel.show( loanRepayPanel) ;
              var threeTab = addTabPage('3', CPanel);
              tabPanel.setActiveTab(threeTab);
              tabPanel.show(CPanel); ;
              }
              });


              8楼2013-08-07 15:52
              回复
                这样做显示的结果是首先APanel和BPanel会隐藏起来 但是 在tabPanel.show()的时候 三个Panel会一起都显示出来
                而我其实只要想CPanel一个被显示
                我该如何修改


                9楼2013-08-07 15:52
                回复
                  2026-01-19 00:49:33
                  广告
                  不感兴趣
                  开通SVIP免广告
                  问题已经解决
                  { text:'删除标签',
                  handler:function(){
                  var t = tabPanel.getActiveTab();//获得当前活动的标签的引用
                  if(t.closeable){
                  tabPanel.remove(t);//删除标签
                  }else{
                  Ext.Msg.alert("提示","该标签不能关闭");
                  }
                  }}


                  10楼2013-08-07 18:14
                  回复