extJS4.2.0 tabPanel学习(三)

  1. 了解添加tab的函数

这里设置为自动添加,菜单是从后台获取的数据,前台进行双击的时候,添加tab页

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Ext.define( 'MVC.controller.MainController' , {
     extend: 'Ext.app.Controller' ,
  
  
     stores:[ 'MenuStore' , 'NewsStore' ],
     models:[ 'MenuModel' , 'NewsModel' ],
     views:[ 'Viewport' ],
     init: function () {
         console.log( '测试controller文件是否找到!' );
         this .control({
             'menulist' :{
                 itemdblclick: this .openTab
             }
         });
     },
     openTab: function (view, record, item, index, e){
         console.log( '测试双击是否执行!' +record[ 'data' ][ 'text' ]);
         
     var pnCenter = Ext.getCmp( 'content_panel' );
     var tabId = "tab-" + record.raw.id;
     var tabTitle = record.raw.text;
     var url = record.raw.url;
     var newTab = Ext.getCmp(tabId); 
     Ext.log( "record.raw.url:" +url); 
     if (!newTab) { 
         newTab = pnCenter.add( new Ext.Panel({
                         id: tabId,
                         title: tabTitle,
                         autoScroll: true ,
                         iconCls: 'tabIconCss' ,
                         layout: 'fit' , //layout一定要是fit,不然显示grid会有问题。
                         border: false ,
                         closable: true ,
                         fitToFrame: true ,
                         items: [Ext.create( 'MVC.view.' +url)]
        }));
         pnCenter.setActiveTab(newTab); 
     } else { //如果tab中存在,那么就直接将节点指向这个页面 
         pnCenter.setActiveTab(newTab); 
    
 
      }
});

注意:

Ext.getCmp('content_panel');content_panel是id值,代表的是内容页的id号,执行之前表示已经存在;

Ext.create('MVC.view.'+url)中'MVC.view.'+url代表的是命名空间,执行之后就说明之前尚未存在;

   Right.js tab要显示的位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Ext.define( 'MVC.view.main.Right' , {
             extend : 'Ext.tab.Panel' ,
             initComponent : function () {
                 Ext.apply( this , {
                             id : 'content_panel' ,
                             region : 'center' ,
                             defaults : {
                                 autoScroll : true ,
                                 bodyPadding : 10
                             },
                             activeTab : 0,
                             border : false ,
                             // plain: true,
                             items : [{
                                         id : 'HomePage' ,
                                         title : '首页' ,
                                         iconCls : 'home' ,
                                         layout : 'fit'
                                     }]
                         });
                 this .callParent(arguments);
             }
         });







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值