extjs Ext.tab.Panel tab面板组件学习

这篇具有很好参考价值的文章主要介绍了extjs Ext.tab.Panel tab面板组件学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

extjs Ext.tab.Panel tab面板组件学习

⭐️来自很多年前的extjs笔记,只是一个归档,不做更新!⭐️

Summary

概述

A basic tab container. TabPanels can be used exactly like a standard Ext.panel.Panel for layout purposes, but also have special support for containing child Components (items) that are managed using a Ext.layout.container.Card, and displayed as separate tabs.

一个基本tab容器。TabPanels可以被直接当做标准的panel面板因为布局的目的,也支持包含子组件(items),使用Ext.layout.container.Card管理布局,作为独立的tabs。

Note: By default, a tab’s close tool destroys the child tab Component and all its descendants. This makes the child tab Component, and all its descendants unusable. To enable re-use of a tab, configure the TabPanel with autoDestroy: false.

注意:默认情况下,一个tab关闭销毁子tab组件和它所有的子孙。使得子tab组件和它的所有子孙不可用。为了能tab能重新使用,配置tab面板通过autoDestroy: false.

TabPanel’s layout
tab面板布局

TabPanels use a Dock layout to position the Ext.tab.Bar at the top of the widget. Panels added to the TabPanel will have their header hidden by default because the Tab will automatically take the Panel’s configured title and icon.

tab面板使用Dock布局去定位Ext.tab.Bar在小部件的顶部。添加到tab面板的面板将隐藏它们自己的头默认情况下,因为tab将自动取得面板的 title和icon配置。

TabPanels use their Ext.panel.Header or footer element (depending on the tabPosition configuration) to accommodate the tab selector buttons. This means that a TabPanel will not display any configured title, and will not display any configured header tools.
tab面板使用面板的Ext.panel.Header 或者footer element(取决于tabPosition配置 )容纳tab选择按钮。这意味着一个tab面板将不展现任何title配置,和不展现任何header tools的配置。

To display a header, embed the TabPanel in a Ext.panel.Panel which uses layout: ‘fit’.
为了展现header,嵌入tab面板到Ext.panel.Panel使用fit布局。

Controlling tabs
控制tabs

Configuration options for the Ext.tab.Tab that represents the component can be passed in by specifying the tabConfig option:

the Ext.tab.Tab可以通过配置项tabConfig 传递给展现的组件。

Vetoing Changes
否决改变

User interaction when changing the tabs can be vetoed by listening to the beforetabchange event. By returning false, the tab change will not occur.
用户交互当tab发生改变可以否决通过监听 beforetabchange 事件,默认返回false,tab改变将不发送。

Examples
例子

Here is a basic TabPanel rendered to the body. This also shows the useful configuration activeTab, which allows you to set the active tab on render.
这是一个基本的tab面板渲染到body上。这也展示了一个有用的配置 activeTab ,它可以使tab激活。

Ext.create('Ext.tab.Panel', {
    width: 300,
    height: 200,
    activeTab: 0,
    items: [
        {
            title: 'Tab 1',
            bodyPadding: 10,
            html : 'A simple tab'
        },
        {
            title: 'Tab 2',
            html : 'Another one'
        }
    ],
    renderTo : Ext.getBody()
});

我的测试例子

Ext.onReady(function() {
    Ext.tip.QuickTipManager.init();
    Ext.create('Ext.container.Viewport',{
        layout:'auto',
        items:[{
            xtype:'tabpanel',
            items:
                    [
                        //实例化自定义的两个类
                        Ext.create('KitchenSink.view.grid.InterfaceGridPanel', { title:'物理接口' },{id: 'interfaceGridPanel'}),
                        Ext.create('KitchenSink.view.grid.BridgeInterfaceGridPanel', { title:'直通接口' },{id: 'interfaceGridPanel2'})
                    ]
        }]
    });

});

总结:

dock 停靠(码头),你可以把你的控件停靠在父容器的1个位置。
anchor:锚点,简单理解为将你的控件4个角订上钉子,当它所在的父容器变化时,会先去看下这个的控件的那个方向钉住了,如果是left,那么这个控件将与父容器的左边线距离始终保持不变,同理可知其他3个设置,比如设置left,right 这样的话该控件就会缩放,以与父容器的左右边线距离不变。

遇到问题:
我想在第二个tab页面展现两个grid(这两个组件放到一个panel容器中),结果只显示第一个组件。原因是布局,tab默认采用的应该是fit,一个tab也中的第一个组件会填充满界面,第二个组件不会显示。
所以,在这两个组件的容器中设定布局,解决该问题。
如下:设定,

layout:{
    type: 'hbox',
    align: 'stretch'
},

切记给每个组件也要配置相应的参数,这里如:{flex: 1}文章来源地址https://www.toymoban.com/news/detail-490812.html

Ext.create('KitchenSink.view.grid.SystemRouteGridPanel',{flex: 1}),
Ext.onReady(function() {
    Ext.tip.QuickTipManager.init();

    if (Ext.getCmp('SystemRouteGridPanel'))
    {
        Ext.getCmp('SystemRouteGridPanel').destroy();
    }
    if (Ext.getCmp('SystemRoute6GridPanel'))
    {
        Ext.getCmp('SystemRoute6GridPanel').destroy();
    }
    
    Ext.create('Ext.container.Viewport',{
        layout:'auto',
        items:[{
            xtype:'tabpanel',
            activeTab: 0,
            items:
                    [
                        Ext.create('KitchenSink.view.grid.StaticRouteGridPanel', { title:'静态路由' }),
                        {
                            title:'系统路由',
                            xtype:'panel',
//                            layout:'accordion',

//                            layout:'table',
//                            layoutConfig:{columns:2},
//                            items: [
//                                Ext.create('KitchenSink.view.grid.SystemRouteGridPanel',{width: 500}),
//                                Ext.create('KitchenSink.view.grid.SystemRoute6GridPanel',{width: 500})
//                            ]

                            layout:{
                                type: 'hbox',
                                align: 'stretch'
                            },
                            items: [
                                Ext.create('KitchenSink.view.grid.SystemRouteGridPanel',{flex: 1}),
                                Ext.create('KitchenSink.view.grid.SystemRoute6GridPanel',{flex: 1})
                            ]


                        }
                    ]
        }]
    });

});

到了这里,关于extjs Ext.tab.Panel tab面板组件学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统之部署Linux管理面板1Panel

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。 快速建站:深度集成 Wordpress 和 Halo,域名绑定、SSL 证书配置等一键搞定; 高效管理:通过 Web 端轻松管理 Linux 服务器,包括应用管理、主机监控、文件管理、数据库管理、容器管理等; 安全可靠:最小漏洞暴露面,提

    2023年04月21日
    浏览(42)
  • ExtJS 确实提供了大量的 UI 组件,用于构建具有丰富交互性的用户界面

    ExtJS 确实提供了大量的 UI 组件,用于构建具有丰富交互性的用户界面。ExtJS 是一个功能强大的 JavaScript 框架,主要用于构建富互联网应用程序(RIA)。以下是 ExtJS 提供的一些主要 UI 组件: 按钮(Buttons) :用于触发各种动作或事件的组件。 表单(Forms) :用于收集和提交用

    2024年02月03日
    浏览(50)
  • 操作教程|通过1Panel开源Linux面板快速安装DataEase

    DataEase开源数据可视化分析工具(dataease.io)的在线安装是通过在服务器命令行执行Linux命令来进行的。但是在实际的安装部署过程中,很多数据分析师或者业务人员经常会因为不熟悉Linux操作系统及命令行操作方式,在安装DataEase的过程中遇到一些障碍。 针对这种情况,用户

    2024年02月11日
    浏览(37)
  • 记录一次1Panel配置SSL导致的面板访问失败

    今天在使用1Panel配置网站的时候,给域名上传了SSL证书、开启了https访问。 然后面板就进不去了,浏览器报告连接不安全。 猜测导致问题的原因是,OpenResty把所有访问该域名的请求都重定向到了https。(最后研究发现该猜测错误) 发生这件事有以下几个条件: 正在配置的网

    2024年01月24日
    浏览(71)
  • 记一次1Panel面板安装mysql(docker报错的问题)

    在centos上安装了1Panel控制面板之后,利用该面板安装mysql时候报了个错误 错误如下 最后更换了下docker的源,成功解决问题 命令如下: 问题成功解决  

    2024年02月08日
    浏览(59)
  • Linux 部署1Panel现代化运维管理面板&远程访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月09日
    浏览(52)
  • Window10安装linux子系统及子系统安装1Panel面板

    原文地址:Window10安装linux子系统及子系统安装1Panel面板 - Stars-One的杂货小窝 最近看到halo博客发布了2.10.0,终于是新增了个备份功能,于是有了念头想要升级下 但是目前我还是使用halo1.5版本,所以跨版本迁移可能会有问题,官方提议还是先用个测试环境进行测试验证是否有问题 但

    2024年02月08日
    浏览(54)
  • 新增进程管理、SSH会话管理功能,1Panel开源面板v1.4.0发布

    2023年7月17日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.4.0版本。 在这个版本中,1Panel新增了进程管理和SSH会话管理功能;支持容器编辑和升级,数据库兼容MySQL 5.6;备份账号可以添加微软OneDrive,并支持选择存储类型。此外,我们进行了60多项功能更新和问题

    2024年02月16日
    浏览(40)
  • Linux 部署1Panel 现代化运维管理面板进行公网远程访问

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我

    2024年02月08日
    浏览(93)
  • 新增PostgreSQL数据库管理功能,1Panel开源面板v1.9.3发布

    2024年1月15日,现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.9.3版本。 在这一版本中,1Panel新增了PostgreSQL数据库管理功能,并且支持设置PHP运行环境扩展模版。此外,我们进行了30多项功能更新和问题修复。1Panel应用商店新增了3款应用,并且更新了22款应用。感谢社

    2024年01月18日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包