ExtJS 布局-Card 布局(Card layout)
更新记录:
2022年6月1日 开始。
2022年6月6日 发布。
1.说明
卡片布局类似牌堆,每次只有一个子组件可见,子组件几乎填满了整个容器。卡片布局常用于向导(Wizard)和选项卡(Tabs)中。

2.设置布局方法
layout: 'card'
或者
layout: {
  type: 'card'
}
3.适合和不适合场景
适合场景:
1.向导指示。
不适合场景:
4.实例
4.1实例:最简单的card布局

代码:
{
    xtype: 'panel',
    title: "Panda Panel",
    width: 300,
    height: 200,
    maximizable: true,
    layout: "card",
    defaults: {
        xtype: "panel",
        height: 60,
        border: true
    },
    items: [
        {
            title: "Menu1",
            html: "The main menu"
        },
        {
            title: "Menu2",
            html: "The main content!"
        }
    ]
}
4.2实例:使用属性设置当前激活的页面
activeItem: 0
4.3实例:使用方法设置当前激活的页面
//获得布局
var layout = this.getView().layout;
//获得当前索引值
var index = layout.activeItem.index + incr;
//设置当前激活的页面
layout.setActiveItem(index);
4.4实例:卡片布局实现可以切换

代码:
布局代码:
Ext.define('PandaApp.view.panda.Panda',{
    extend: 'Ext.panel.Panel',
    requires: [
        'Ext.panel.Panel',
        'PandaApp.view.PandaController',
        'PandaApp.view.PandaModel'
    ],
    title: 'Panel Container',
    controller: 'panda',
    viewModel: {
        type: 'panda'
    },
    items: [
//======================核心代码==============
{
    xtype: 'panel',
    id: 'cardWizard',
    width: 300,
    height: 200,
    layout: 'card',
    activeItem: 0,
    bbar: [
        '->',  //按钮右对齐
        {
            itemId: 'btn-prev',
            text: '上一页',
            handler: 'changeToPreviousPage',
            disabled: true,
        },
        {
            itemId: 'btn-next',
            text: '下一页',
            handler: 'changeToNextPage'
        }
    ],
    items: [
        {
            index: 0,
            title: 'Item 1',
            html: 'Item 1'
        },
        {
            index: 1,
            title: 'Item 2',
            html: 'Item 2'
        },
        {
            index: 2,
            title: 'Item 3',
            html: 'Item 3'
        }
    ]
}
//======================核心代码==============
    ]
});
Controller代码:
Ext.define('PandaApp.view.PandaController', {
    extend: 'Ext.app.ViewController',
    alias: 'controller.panda',
    //切换到上一页
    changeToPreviousPage: function () {
        this.navigate(-1);
        console.log('Change To Previous Pange');
    },
    //切换到下一页
    changeToNextPage: function () {
        this.navigate(+1);
        console.log('Change To Next Page');
    },
    //进行页面切换
    navigate: function (incr) {
        //获得布局
        var layout = Ext.getCmp('cardWizard').layout;
        //获得当前索引值
        var index = layout.activeItem.index + incr;
        //设置当前激活的页面
        layout.setActiveItem(index);
        this.getView().down('#btn-prev').setDisabled(index === 0);
        this.getView().down('#btn-next').setDisabled(index === 2);
    }
});
ExtJS 布局-Card 布局(Card layout)的更多相关文章
- card布局解决复杂操作的布局问题
		一直不是很待见直接使用card布局,直到对于一些稍微复杂点的业务, 通过border布局和弹窗体的方式解决特别费劲之后,才想起了card布局, 发现card布局真是一个很好的解决办法. 那个使用起来很 ... 
- ExtJS 布局-Table布局(Table layout)
		更新记录: 2022年6月1日 开始. 2022年6月10日 发布. 1.说明 table布局类似表格,通过指定行列数实现布局. 2.设置布局方法 在父容器中指定 layout: 'table' la ... 
- ExtJS 布局-VBox布局(VBox layout)
		更新记录: 2022年6月11日 优化文章结构. 2022年6月9日 发布. 2022年6月1日 开始. 1.说明 vbox布局类似auto布局,将子组件一个接一个垂直向下放置,既可以在水平方向也可以 ... 
- ExtJS 布局-HBox 布局(HBox layout)
		更新记录: 2022年6月11日 更新文章结构. 2022年6月8日 发布. 2022年6月1日 开始. 1.说明 hbox布局与column布局几乎相同,但hbox允许拉伸列的高度. 既可以在水平方 ... 
- Extjs面板和布局初探
		面板相当于一张干净的白纸,如果直接在上面添加内容,将很难控制面板中内容的显示位置,面板元素越多就越显得凌乱,所以需要在面板上划分不同的区域,将面板内容展示到希望的位置上.ExtJS通过提供多种布局类来 ... 
- 【ExtJS】FormPanel 布局(二)
		周末2天好好学习了下布局,现在都给实现了吧. 5.border布局: Border布局将容器分为五个区域:north.south.east.west和center.除了center区域外,其他区域都需 ... 
- Extjs关于FormPanel布局
		Extjs关于FormPanel布局 FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局 ... 
- 【ExtJS】简单布局应用
		前几天学习了ExtJS的各种布局后,以下就是各种实践,从简单做起. 实现目的: 一个提交表单页,一个显示信息页,表单为个人基本资料输入,显示页为基本信息展示. 内容: 总体布局为border布局,展示 ... 
- 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]
		如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ... 
随机推荐
- CommonsCollection7反序列化链学习
			CommonsCollections7 1.前置知识 Hashtable Hashtable实现了Map接口和Serializable接口,因此,Hashtable现在集成到了集合框架中.它和Hash ... 
- Ubuntu16.04 安装和卸载MySQL数据库
			Ubuntu16.04 安装和卸载MySQL数据库 1 安装 安装非常简单,只需要三个命令 1.1 安装服务端 sudo apt-get install mysql-server 在这一步过程中会有提 ... 
- 使用 VS Code 撰写 Markdown 文档
			众所周知, VS Code 是微软和社区一起开发的一款很优秀的高级代码编辑器.它不仅可以写出一手好代码,还能写出一篇好文章.利用 Markdown 就可以写出一篇排版美观的技术文章了. 而 Markd ... 
- JS_进阶-遍历对象属性、数组输出、Math、正则表达式匹配
			1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ... 
- Apache Doris 单节点(可多节点)Docker集群制作教程
			集群制作Author:苏奕嘉脚本研发Author:种益调研测试Author:杨春东 前言 Apache Doris是当下非常火热和流行的MPP架构OLAP数据库,很多同学想自学/测试Doris的使用和 ... 
- C#/VB.NET 获取Excel中图片所在的行、列坐标位置
			本文以C#和vb.net代码示例展示如何来获取Excel工作表中图片的坐标位置.这里的坐标位置是指图片左上角顶点所在的单元格行和列位置,横坐标即顶点所在的第几列.纵坐标即顶点所在的第几行.下面是获取图 ... 
- js字符串操作方法集合
			1.字符方法: str.charAt(): 可以访问字符串中特定的字符,可以接受0至字符串长度-1的数字作为参数,返回该位置下的字符,如果参数超出该范围,返回空字符串,如果没有参数,返回位置为0的字符 ... 
- Python 查找算法_众里寻他千百度,蓦然回首那人却在灯火阑珊处(线性、二分,分块、插值查找算法)
			查找算法是用来检索序列数据(群体)中是否存在给定的数据(关键字),常用查找算法有: 线性查找: 线性查找也称为顺序查找,用于在无序数列中查找. 二分查找: 二分查找也称为折半查找,其算法用于有序数列. ... 
- 用浏览器快速开启Docker的体验之旅
			互联网科技发展创造了很多奇迹,比如我今天要提到的 docker 技术就是其一.我很早就关注它(在2015年写过这方面的博客),那会儿还只是一个开源项目,现在已经是一个行业事实标准了,它推动了云原生的变 ... 
- 一文读懂 Kubernetes 容器网络
			点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 在Kubernetes中要保证容器之间网络互通,网络至关 ... 
