Extjs4中两种定义tabPanel的方式
extjs组件比较多,看一点学习一点,天天进步中...嘿嘿。
不想说太多,直接上代码了:
1 //两种创建tabpanel 2 Ext.require('Ext.tab.*'); 3 Ext.onReady(function(){ 4 5 //第一种方式创建 6 var tabs1=Ext.createWidget('tabpanel',{ 7 width:450, 8 activeTab:0, 9 margin:'50 10 50 80', 10 defaults:{ 11 bodyPadding:10 12 }, 13 items:[{ 14 title:'tabl 1', 15 closable:true, 16 html:'tal的内容' 17 18 },{ 19 title:'tabl 2', 20 closable:false, 21 html:'tab1 2的内容' 22 23 }], 24 renderTo:Ext.getBody() 25 }); 26 27 //第二种方法创建 28 var tabls2=Ext.create('Ext.tab.Panel',{ 29 width:600, 30 height:300, 31 activeTab:0, 32 plain:true,//使tab的表头突出 33 margin:'0 10 0 80', 34 defaults:{ 35 autoScroll:true, 36 bodyPadding:10 37 }, 38 items:[{ 39 title:'tab 1', 40 html:'very good' 41 },{ 42 title:'tab 2', 43 html:'very very good' 44 },{ 45 title:'异步获取数据', 46 loader:{ 47 url: 'ajax.htm', 48 contentType:'html', 49 loadMask:true 50 }, 51 listeners:{ 52 activete:function(tab){ 53 tab.loader.load 54 } 55 } 56 }], 57 renderTo:Ext.getBody() 58 59 }); 60 61 });
效果:
在Ext中tabPanel与tab可以分开,这样就更灵活多变了.请看下面的例子:
代码:
1 Ext.require('Ext.tab.*'); 2 Ext.onReady(function(){ 3 var currentItem; 4 var tabs=Ext.create('Ext.tab.Panel',{ 5 width:600, 6 height:250, 7 magin:'10', 8 resizeTabs:true, 9 enableTabScroll:true, 10 defaults:{ 11 autoScroll:true, 12 bodyPadding:10 13 }, 14 items:[{ 15 title:'选项卡', 16 html:'选项卡的内容', 17 closable:true 18 }], 19 renderTo:'tab' 20 21 }); 22 var index=0; 23 function addTab(closable){ 24 ++index; 25 tabs.add({ 26 title:'新选项卡'+index, 27 html:'新选项卡内容'+index+'<br/><br/>', 28 closable:!!closable 29 30 }).show(); 31 32 } 33 34 Ext.createWidget('button',{ 35 renderTo:'add', 36 text:'创建可关闭的选项卡', 37 handler:function(){ 38 39 addTab(true); 40 } 41 42 }); 43 44 Ext.createWidget('button',{ 45 renderTo:'add', 46 text:'创建不可关闭的选项卡', 47 handler:function(){ 48 addTab(false); 49 }, 50 style:'margin-left:8px' 51 }); 52 53 });
效果:
html中有两个div:<div id="add"></div>
<div id="tab"></div>