ExtJS4学习笔记(十四)---TabPanel

本文深入解析了在Ext JS中通过Ext.createWidget('tabpanel')和Ext.create('Ext.tab.Panel')两种方式创建tabPanel的具体实现,并提供了实例代码以辅助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建一个tabPanel有两种方法:

一:Ext.createWidget('tabpanel',{...})

二:Ext.create('Ext.tab.Panel',{...})

本文分别介绍这两种创建方法。

HTML代码:

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
  5. <linkrel="stylesheet"type="text/css"href="../../resources/css/ext-all.css"/>
  6. <scripttype="text/javascript"src="../../bootstrap.js"></script>
  7. <scripttype="text/javascript"src="../../locale/ext-lang-zh_CN.js"></script>
  8. <scripttype="text/javascript"src="tabs.js"></script>
  9. <title>MHZG.NET--Tabs</title>
  10. </head>

  11. <body>
  12. <divid="tab"></div>
  13. </body>
  14. </html>

tabs.js:

  1. Ext.require('Ext.tab.*');
  2. Ext.onReady(function(){
  3. //第一种方式创建
  4. vartabs=Ext.createWidget('tabpanel',{
  5. renderTo:'tab',
  6. width:450,
  7. activeTab:0,
  8. margin:'50105080',
  9. defaults:{
  10. bodyPadding:10
  11. },
  12. items:[{
  13. //contentEl:'script',//将指定容器中的内容加载到tabPanel的内容区
  14. title:'Tabs-1',
  15. closable:true,
  16. html:'Tabs-1内容。'
  17. },{
  18. title:'Tabs-2',
  19. closable:false,
  20. html:'Tabs-2内容'
  21. }]
  22. });
  23. //第二种方式创建
  24. vartabs2=Ext.create('Ext.tab.Panel',{
  25. renderTo:document.body,
  26. activeTab:0,
  27. width:600,
  28. height:250,
  29. plain:true,
  30. margin:'010080',
  31. defaults:{
  32. autoScroll:true,
  33. bodyPadding:10
  34. },
  35. items:[{
  36. title:'Tabs-1',
  37. html:"这里显示内容"
  38. },{
  39. title:'异步加载内容',
  40. loader:{
  41. url:'ajax.htm',
  42. contentType:'html',
  43. loadMask:true
  44. },
  45. listeners:{
  46. activate:function(tab){
  47. tab.loader.load();
  48. }
  49. }
  50. },{
  51. title:'异步加载内容1',
  52. loader:{
  53. url:'ajax1.htm',
  54. contentType:'html',
  55. autoLoad:true,
  56. params:'foo=123&bar=abc'
  57. }
  58. },{
  59. title:'点击触发事件',
  60. listeners:{
  61. activate:function(tab){
  62. alert(tab.title);
  63. }
  64. },
  65. html:"点击Tab之后,触发事件,监听事件:activate。activate可传递两个参数。1、Ext.Componentthis。2、Objectoptions"
  66. },{
  67. title:'Tabs不可能',
  68. disabled:true
  69. }
  70. ]
  71. })
  72. });

第二个tabPanel中有两个html文件,分别是ajax.htm和ajax1.htm,这两个文件代码就不写了,里面就是敲了一些字,而这些字就是tabPanel内容区的那些文字,不过需要注意的一点就是,在异步获取其他文件中的内容时,这些文件返回的编码格式应该是UTF-8...


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值