选项板概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、选项板概述

选项面板是一个包括一个或多个选项卡(Tab),同一时刻只显示一个选项卡的这种用户界面。比如下图的IE选项设置界面中,就是一个选项板的应用,选项板上有“常规”、“安全”、“隐私”等选项卡。

2、Ext.TabPanel

Ext中提供了选项板控件TabPanel,由类Ext.TabPanel来定义,该类直接继承自Ext.Panel,因此他实际上也是一个包含特定特性的面板。看下面的代码:

复制代码
<script type="text/javascript">Ext.onReady(function(){ new Ext.TabPanel({renderTo: Ext.getBody(),width: 300,height: 200,enableTabScroll:true,activeTab: 0,items: [{title:"面板1",html:"<h1>this is the first panel!</h1>"}, {closable : true,title:"面板2",html:"<h1>this is the second panel!</h1>"}, {closable : true,title:"面板3",html:"<h1>this is the third panel!</h1>"}]});});</script>
复制代码
运行结果如下:
14002941_K27c.png

上面的代码定义了一个简单的选项面板,该面板中包含三个tab,初始化时显示第一个tab内容。

3、另外一种使用选项板的方式

也可以直接把html页面中符合特殊条件的DIV标签转换成选项板中的选项,此时需要在TabPanel的配置选项中把autoTabs项设置为true,把deferredRender项设置为false,然后通过applyTo项指定把页面中包含class="x-tab"这种样式的子节点的DOM节点应用于选项板。看下面的例子:

复制代码
<head><meta http-equiv="description" content="This is my page"><!-- 引入ExtJS样式文件 --><link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/ext-3.2.0/resources/css/ext-all.css"/><!-- 引入ExtJS脚本库(两个,一个驱动adapter,另外一个ext-all.js) --><script type="text/javascript" src="<%=request.getContextPath() %>/ext-3.2.0/adapter/ext/ext-base.js"></script><script type="text/javascript" src="<%=request.getContextPath() %>/ext-3.2.0/ext-all.js"></script><script type="text/javascript">Ext.onReady(function(){ new Ext.TabPanel({applyTo: 'test',activeTab: 0,deferredRender: false,autoTabs: true });});</script></head><body><div id="test"><div class="x-tab" title="选项1">A simple tab</div><div class="x-tab" title="选项2">Another one</div><div title="选项3"><div class="x-tab" title="选项4">Another one</div></div></div></body>
复制代码

由于“选项3”这个DIV标签的class不是x-tab所以不会转换成选项卡Tab,而“选项4”这个DIV虽然与“选项1”这些节点不在同一个层次,但仍然会把他作为Tab项来同等处理。

4、控制选项板的内容

选项板TabPanel中的选项Tab项可以在初始化的时候通过items时候指定,也可以在TabPanel对象创建以后,使用add()、insert()或remove等来动态添加或删除其中的选项卡Tab。为了演示对面板中tab的操作,我们可以给上面的程序简单的添加一个工具栏按钮,当点击按钮的时候在选项面板中动态添加tab。代码如下:


复制代码
<script type="text/javascript">Ext.onReady(function(){ var i=0; var tab=new Ext.TabPanel({renderTo: Ext.getBody(),width:500,height:200,enableTabScroll:true,activeTab:0,bbar:[{text:"添加",handler:function(){tab.add({title:"新面板"+i++,closable : true });}}],items:[{title:"面板1",html:"<h1>this is the first panel!</h1>"}, {closable : true,title:"面板2",html:"<h1>this is the second panel!</h1>"},{closable : true,title:"面板3",html:"<h1>this is the third panel!</h1>"}]});});</script>
复制代码
运行效果如下:

添加按钮的事件响应函数内容如下:

tab.add({title:"新面板"+i++,closable : true});

我们直接调用选项面板的add方法,就可以把一个面板添加到选项板中,成为一个新的tab。closeable表示该面板可以关闭,因此在tab上会出现一个关闭tab的图标,点击该图标可以关闭该面板。

可以使用迭代功能,实现批量关闭选项板TabPanel中的所有Tab,比如,可以在上面的bbar中,添加一个按钮来实现关闭所有打开的Tab,该按钮的定义代码如下:

复制代码
{text:"关闭所有面板",handler: function(){tab.items.each(function(p){ if(p.closable)tab.remove(p);}}}

转载于:https://my.oschina.net/zhuyongfei/blog/130260

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 跳转相同路由携带不同参数,而页面不刷新

由于组件是复用的&#xff0c;若要对路由参数的变化作出响应的话&#xff0c;就需要在此组件上使用 watch&#xff08;监测变化&#xff09; $route 对象 created() {this.listQuery.code this.$route.query.id;this.getList();},watch: {$route(to, from) {//当参数改变时就会…

三阶魔方的入门教程

From: http://www.rubik.com.cn/beginner.htm 下面是三阶魔方图文教程&#xff0c;想直接看更好懂的三阶魔方视频教程请点这里 魔方别看只有26个小方块&#xff0c;变化可真是不少&#xff0c;魔方总的变化数为 或者约等于4.31019。如果你一秒可以转3下魔方&#xff0c;不计重…

oracle技术之查询初始化参数的方法(六)

查询初始化参数的方法很多&#xff0c;比如SHOW PARAMETER&#xff0c;或查询V$PARAMETER等&#xff0c;这里简单总结一下。这一篇描述CREATE PFILE的方法检查初始化参数。前面介绍了很多种方法&#xff0c;这些方法都是在数据库中查询初始化参数的设置。其实还有一种方法更加的…

MySQL LIST分区(转载)

LIST分区和RANGE分区非常的相似&#xff0c;主要区别在于LIST是枚举值列表的集合&#xff0c;RANGE是连续的区间值的集合。二者在语法方面非常的相似。同样建议LIST分区列是非null列&#xff0c;否则插入null值如果枚举列表里面不存在null值会插入失败&#xff0c;这点和其它的…

vue组件化通信之父向子传值

vue组件化通信之子向父传值 vue组件化通信之兄弟组件传值 父向子组件传值 常用的方法主要有三种&#xff1a;props、$refs、$children 建议使用前两种 使用props进行传值 parent.vue <template><div><childTest :msgmsg></childTest></div> …

Openssl的证书格式转换

PKCS 全称是 Public-Key Cryptography Standards &#xff0c;是由 RSA 实验室与其它安全系统开发商为促进公钥密码发展而制订的一系列标准。PKCS 目前共发布过 15 个标准。常用的有&#xff1a;1. PKCS#7 Cryptographic Message Syntax Standard2. PKCS#10 Certification Requ…

啦啦

Y2错题解析 数据流程图描述信息的来龙去脉和实际流程&#xff0c;反映信息在系统中流动、处理和存储的情况。程序结构图用来描述程序结构&#xff0c;一般由构成系统的要素和表达要素间关系的连线或箭头构成。因果图是一种发现问题“根本原因”的分析方法。 Spring依赖检查的常…

身份证号码格式验证

From: https://www.cnblogs.com/chenhaoyu/p/6189207.html /*** 验证身份证号码真伪* param $id* return bool*/ function checkIDCard( $id ) {$id strtoupper($id);$regx /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;if(!preg_match($regx, $id))return false;$arr_split [];if(15 …

vue组件化通信之子向父传值

vue组件化通信之子向父传值 vue组件化通信之兄弟组件传值 vue中子向父传递消息一般使用$emit&#xff0c;方法比较简单&#xff0c;直接看代码 父组件 <template><div><childTest msgmyMsg></childTest>{{msg}}</div> </template><s…

冒泡排序 C#

主程序入口class Program{static void Main(string[] args){int[] iArrary new int[] { 1, 5, 13, 6, 10, 55, 99, 2, 87, 12, 34, 75, 33, 47 };//定义数组BubbleSorter sh new BubbleSorter();sh.Sort(iArrary);for (int m 0; m < iArrary.Length; m)//输出结果Console…

emacs 入门教程,菜单汉化,配置文件等杂乱文章

首先来一发ArchWiki的Emacs简体中文的入门教程 https://wiki.archlinux.org/index.php/Emacs_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 怎样设置&#xff0c;Emacs中文菜单&#xff1f; 把包内的3个文件丢到 emacs/share/emacs/site-lisp下面。 在&#xff5e;/ 建一个 .emacs的…

[JS] Invalid Date

一般mysql存储的时间字段格式是" YYYY-MM-DD hh:mi:ss"&#xff0c;即年月日之间是通过-分隔的。 偶然的情况下&#xff0c;发现这样的格式用在js时&#xff0c;在手机浏览器上运行会失败&#xff0c;但是在PC浏览器上却是OK的。 见代码&#xff1a; const st 201…

关于element框架的el-image点击后,页面出现卡死等情况的解决方式

当el-image标签被添加时&#xff0c;页面的body就会自动添加style属性 所以我们绑定一个点击事件删除样式就可以了 <el-image style"width: 100px; height: 100px" :src"scope.row.logo" fit"scale-down" click"cancelStyle()"/&…

JAVA学习笔记-Scanner的使用

因为Scanner并不属于Lang包中&#xff0c;所以要在程序代码的最开头&#xff0c;加上&#xff1a;import java.util.Scanner;来表示导入Scanner类。这样我们在接下来的代码中就可以使用Scanner了&#xff1b; Scanner的语法为&#xff1a; Scanner s new Scanner (System.in);…

从源代码角度看Struts2返回JSON数据的原理

2019独角兽企业重金招聘Python工程师标准>>> 前面一篇文章其实只是介绍了如何在Struts2中返回JSON数据到客户端的具体范例而无关其原理&#xff0c;内容与标题不符惹来标题党嫌疑确实是笔者发文不够严谨&#xff0c;目前已修改标题&#xff0c;与内容匹配。本文将从…

vue的slot作用域插槽使用案例

slot的使用场景&#xff1a;复用子组件的slot&#xff0c;且slot的内容不同 简单使用案例 子组件 <div><h1>子组件</h1><slot name"child" msg德玛西亚></slot></div>父组件 <HelloWorld><p slot-scopechild slot&qu…

杭州收集

http://www.19lou.com/forum-143-thread-14601357545637477-1-1.html 杭州地铁规划图转载于:https://www.cnblogs.com/qshting/p/6039241.html

CentOS安装Nagios网络监视工具

Nagios是一款开源的免费网络监视工具&#xff0c;能有效监控Windows、Linux和Unix的主机状态&#xff0c;交换机路由器等网络设置&#xff0c;打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员&#xff0c;在状态恢复后发出正常的邮件或短信通知。…

一张图看懂encodeURI、encodeURIComponent、decodeURI、decodeURIComponent的区别

From:https://www.cnblogs.com/shuiyi/p/5277233.html 一、这四个方法的用处 1、用来编码和解码URI的 统一资源标识符&#xff0c;或叫做 URI&#xff0c;是用来标识互联网上的资源&#xff08;例如&#xff0c;网页或文件&#xff09;和怎样访问这些资源的传输协议&#xf…

关于axios请求报400如何获取报错信息

不废话&#xff0c;直接放代码 addGoods(product).then(res > {if (res.code 200) {this.$message.success("添加成功");this.handleFilter();} else {this.$message.error("添加失败");}}).catch(res > {console.log(res)console.log(res.respons…