更新记录:

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)的更多相关文章

  1. card布局解决复杂操作的布局问题

    一直不是很待见直接使用card布局,直到对于一些稍微复杂点的业务, 通过border布局和弹窗体的方式解决特别费劲之后,才想起了card布局, 发现card布局真是一个很好的解决办法. 那个使用起来很 ...

  2. ExtJS 布局-Table布局(Table layout)

    更新记录: 2022年6月1日 开始. 2022年6月10日 发布. 1.说明 table布局类似表格,通过指定行列数实现布局. 2.设置布局方法 在父容器中指定 layout: 'table' la ...

  3. ExtJS 布局-VBox布局(VBox layout)

    更新记录: 2022年6月11日 优化文章结构. 2022年6月9日 发布. 2022年6月1日 开始. 1.说明 vbox布局类似auto布局,将子组件一个接一个垂直向下放置,既可以在水平方向也可以 ...

  4. ExtJS 布局-HBox 布局(HBox layout)

    更新记录: 2022年6月11日 更新文章结构. 2022年6月8日 发布. 2022年6月1日 开始. 1.说明 hbox布局与column布局几乎相同,但hbox允许拉伸列的高度. 既可以在水平方 ...

  5. Extjs面板和布局初探

    面板相当于一张干净的白纸,如果直接在上面添加内容,将很难控制面板中内容的显示位置,面板元素越多就越显得凌乱,所以需要在面板上划分不同的区域,将面板内容展示到希望的位置上.ExtJS通过提供多种布局类来 ...

  6. 【ExtJS】FormPanel 布局(二)

    周末2天好好学习了下布局,现在都给实现了吧. 5.border布局: Border布局将容器分为五个区域:north.south.east.west和center.除了center区域外,其他区域都需 ...

  7. Extjs关于FormPanel布局

    Extjs关于FormPanel布局 FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局 ...

  8. 【ExtJS】简单布局应用

    前几天学习了ExtJS的各种布局后,以下就是各种实践,从简单做起. 实现目的: 一个提交表单页,一个显示信息页,表单为个人基本资料输入,显示页为基本信息展示. 内容: 总体布局为border布局,展示 ...

  9. 如何在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 ...

随机推荐

  1. caioj 1001: [视频]实数运算1[水题]

    题意:输入两个实数a和b,输出它们的和 题解:简单题不写题解了-- 代码: #include <cstdio> double a, b; int main() { while (~scan ...

  2. 控制器全屏显示.不展示导航栏navigationbar

    有些时候需要 让控制器全屏显示 ,不需要导航栏,或者说是在导航栏底部 基本情况: >控制器全屏 ``` if (@available(iOS 11.0, *)) { self.tableView ...

  3. 用asmlib方式创建oracle集群ASM磁盘(oracleasm)

    创建asm磁盘的几种方式 创建asm方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式 3.2 raw方式(裸设备方式) 4.as ...

  4. golang调用海康sdk

    git地址:https://gitee.com/mimo431/hcnet-sdk_golang 网络不太流畅,先传gitee上 参考链接: https://www.cnblogs.com/dust9 ...

  5. Ubuntu20.04搭建web服务器

    其他Ubuntu20以及Ubuntu18系列也可以!

  6. 微信小程序--设置和获取剪切板内容

    设置 wx.setClipboardData  // 复制功能 获取 wx.getClipboardData // 粘贴功能     let _this = this     wx.setClipbo ...

  7. 解决go-micro与其它gRPC框架之间的通信问题

    在之前的文章中分别介绍了使用gRPC官方插件和go-micro插件开发gRPC应用程序的方式,都能正常走通.不过当两者混合使用的时候,互相访问就成了问题.比如使用go-micro插件生成的gRPC客户 ...

  8. 异步请求与中断 ( XHR,Axios,Fetch对比 )

    随着AJAX技术的诞生,前端正式进入了局部刷新和前后端分离的新时代,最初的服务请求技术是XHR,随着技术发展和ES6的诞生,jquery ajax,axios,fetch 等技术的产生让前端的异步请求 ...

  9. es篇-es基础

    点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. es基础知识 es和solr一样,都是基于Lucene的全文检索数据库 ...

  10. 干货 | 亿级Web系统负载均衡几种实现方式

    一个执着于技术的公众号 负载均衡(Load Balance)是集群技术(Cluster)的一种应用技术.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web ...