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

最新文章

  1. redis集群之REDIS CLUSTER
  2. ref与out之间的区别
  3. [UCSD白板题] Primitive Calculator
  4. pytion学习1
  5. nhibernate入门使用经验
  6. ZigZag Conversion1
  7. oracle object_id和data_object_id的区别
  8. 数据结构(脑洞题,BIT):COGS 2394. 比赛
  9. 利用分布类防止EF更新模型丢失验证信息
  10. Vue - 使用命令行搭建单页面应用
  11. md5-linux_shell
  12. Java 八大类型、String和 StringBuffer
  13. linux mysql无故无法启动了,centos 7
  14. Ocelot中文文档-GraphQL
  15. 前端笔记之服务器&Ajax(下)数据请求&解决跨域&三级联动&session&堆栈
  16. Ubuntu 通过apt安装VSCode
  17. 关于angular1与angular2的应用区别
  18. 目标检测----ImageAI使用
  19. 为什么要先装IIS后装.Net Framework?
  20. UVA1265 Tour Belt Kruskal重构树、倍增、树上差分

热门文章

  1. CATransform3D的使用以及各个参数的含义
  2. -Swift.h not find
  3. 关于在MyEclipse中页面中文乱码的问题
  4. include和 merge
  5. 自定义switch开关
  6. Jenkins环境集成第一弹
  7. C++函数后面的throw()
  8. FRAM 铁电存储器
  9. Properties集合
  10. GameUnity 2.0 发布倒计时