tab选项卡,是Extjs中常用的组件,tab一般依附于tabpanel,很多时候我也认为tab就是tabpanel,但在官方api中,确实有Ext.tab.Panel和Ext.tab.Tab之分,具体属性、事件、方法,请参考API,tab选项卡可以单独渲染,使用方法是:xtype: 'tab',本文介绍tab的基本用法。
HTML代码:除了加载基本库以外,定义了一些CSS样式,这些CSS基本没用,就是我看着所有组件靠着BODY太不舒服了。。
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
- <script type="text/javascript" src="../../bootstrap.js"></script>
- <script type="text/javascript" src="../../locale/ext-lang-zh_CN.js"></script>
- <script type="text/javascript" src="tabs1.js"></script>
- <title>MHZG.NET--Tabs</title>
- <style>
- .main{ margin:50px auto;}
- #add{ padding-left:10px;}
- </style>
- </head>
- <body>
- <div class="main">
- <div id="add"></div>
- <div id="tab"></div>
- </div>
- </body>
- </html>
tabs1.js:
- Ext.require('Ext.tab.*');
- Ext.onReady(function(){
- var currentItem;
- var tabs = Ext.createWidget('tabpanel', {
- renderTo: 'tab',
- resizeTabs: true,
- enableTabScroll: true,
- margin:'10',
- width: 600,
- height: 250,
- defaults: {
- autoScroll:true,
- bodyPadding: 10
- },
- items: [{
- title: '选项卡',
- html: '选项卡内容',
- closable: true
- }]
- });
- var index = 0;
- function addTab (closable) {
- ++index;
- tabs.add({
- title: '新选项卡- ' + index,
- html: '新选项卡内容 ' + index + '<br/><br/>',
- closable: !!closable
- }).show();
- }
- Ext.createWidget('button', {
- renderTo: 'add',
- text: '创建可关闭选项卡',
- handler: function () {
- addTab(true);
- }
- });
- Ext.createWidget('button', {
- renderTo: 'add',
- text: '创建不可关闭选项卡',
- handler: function () {
- addTab(false);
- },
- style: 'margin-left: 8px;'
- });
- });