前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Extjs-lesson6

Extjs-lesson6

作者头像
小闫同学啊
发布2020-07-06 12:21:18
6150
发布2020-07-06 12:21:18
举报
文章被收录于专栏:小闫笔记

1.AccordionLayout

「介绍」:经常用来对左侧功能列表进行分类

「效果」:手风琴式布局,可以折叠的布局

1.1 展示

AccordionLayout

1.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var AccordionLayout = new Ext.Panel({
    title: "AccordionLayout",
    //布局样式
    layout: "accordion",
    height: 200,
    items: [
      new Ext.Panel({
        title: "国家",
        items: [
          new Ext.BoxComponent({
            autoEl: { tag: "div", html: "中国" }
          })
        ]
      }),
      new Ext.Panel({
        title: "省",
        items: [
          new Ext.BoxComponent({
            autoEl: { tag: "div", html: "中国台湾省" }
          })
        ]
      }),
      new Ext.Panel({
        title: "市",
        items: [
          new Ext.BoxComponent({
            autoEl: { tag: "div", html: "台北市" }
          })
        ]
      })
    ],
    //将面板显示到HTML中:
    //<div id="AccordionLayout" style="width: 300px; float: left; height: 200px"></div>
    renderTo: "AccordionLayout"
  });
});

2.BorderLayout

「介绍」:经常用来做后台框架的布局。

「效果」:将页面分为了上下左右和中间几个位置更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

2.1 展示

BorderLayout

2.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var BorderLayout = new Ext.Panel({
    title: "BorderLayout",
    layout: "border",
    width: 1100,
    height: 300,
    items: [
      new Ext.Panel({
        title: "北宫玄武",
        region: "north",
        html: "可以放个logo什么的"
      }),
      new Ext.Panel({
        title: "南方朱鸟",
        region: "south",
        html: "版权信息?",
        autoEl: "center"
      }),
      new Ext.Panel({
        title: "中间",
        region: "center",
        html: "《史记-天宫书》"
      }),
      new Ext.Panel({
        title: "东宫苍龙",
        region: "west",
        html: "树型菜单或是手风琴"
      }),
      new Ext.Panel({
        title: "西宫咸池",
        region: "east",
        html: "常用功能或是去掉?"
      })
    ],
    //将面板显示到HTML中:
    //<div id="BorderLayout" style="padding: 10px 0px; clear: both"></div>
    renderTo: "BorderLayout"
  });
});

3.ColumnLayout

「效果」:将内部组件水平方向展开

3.1 展示

ColumnLayout

3.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var ColumnLayout = new Ext.Panel({
    width: 600,
    title: "ColumnLayout",
    layout: "column",
    items: [
      new Ext.form.FormPanel({
        title: "第一列",
        columnWidth: 0.33,
        labelWidth: 50,
        items: [new Ext.form.TextField({ fieldLabel: "姓名" })]
      }),
      new Ext.form.FormPanel({
        title: "第二列",
        columnWidth: 0.33,
        labelWidth: 50,
        items: [new Ext.form.TextField({ fieldLabel: "年龄" })]
      }),
      new Ext.form.FormPanel({
        title: "第三列",
        columnWidth: 0.34,
        labelWidth: 60,
        items: [new Ext.form.TextField({ fieldLabel: "爱好" })]
      })
    ],
    //将面板显示到HTML中:
    //<div id="ColumnLayout" style="float: left; width: 500px; padding-left: 10px;"></div>
    renderTo: "ColumnLayout"
  });
});

4.ContainerLayout

「介绍」:这种是默认的布局方式,其他的布局都继承了该类进行适当的扩展。

「效果」:将内部组件竖直方向进行堆叠

❝当你写一个面板,没有 layout 时,默认就采用了这种布局。 ❞

4.1 展示

ContainerLayout

4.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var box1 = new Ext.BoxComponent({
    autoEl: {
      tag: "div",
      style: "background:red;width:300px;height:30px",
      html: "box1"
    }
  });
  var box2 = new Ext.BoxComponent({
    autoEl: {
      tag: "div",
      style: "background:yellow;width:300px;height:30px",
      html: "box2"
    }
  });
  var box3 = new Ext.BoxComponent({
    autoEl: {
      tag: "div",
      style: "background:blue;width:300px;height:30px;color:#fff",
      html: "box3"
    }
  });
  //创建一个面板,没有设置 layout 字段
  var containerlayout = new Ext.Panel({
    items: [box1, box2, box3],
    //将面板显示到HTML中:
    //<div id="ContainerLayout" style="float: left; width: 300px"> ContainerLayout:垂直方式放置 </div>
    renderTo: "ContainerLayout"
  });
});

5.FormLayout

「介绍」:这个看起来就像表单一样

「效果」:将内部组件竖直方向进行堆叠

5.1 展示

FormLayout

5.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var formlayout = new Ext.Panel({
    title: "FormLayout",
    layout: "form",
    items: [
      new Ext.form.TextField({ fieldLabel: "姓名" }),
      new Ext.form.TextField({ fieldLabel: "年级" }),
      new Ext.form.TextField({ fieldLabel: "班级" })
    ],
    //将面板显示到HTML中:
    //<div id="FormLayout" style="float: left; width: 240px; padding-left: 10px;"></div>
    renderTo: "FormLayout"
  });
});

6.FitLayout

「介绍」:强迫子组件填充满容器的布局

6.1 展示

FitLayout

6.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var FitLayout = new Ext.Panel({
    title: "FitLayout",
    height: 100,
    renderTo: "FitLayout",
    layout: "fit",
    items: [
      new Ext.Panel({
        bodyStyle: "background:red",
        html: "使用了fit布局,填充满"
      }),
      new Ext.Panel({
        bodyStyle: "background:yellow",
        html: "这个panel不会显示,因为是fit布局"
      })
    ]
  });
  var NoFitLayout = new Ext.Panel({
    title: "NoFitLayout",
    height: 100,
    //将面板显示到HTML中:
    //<div id="FitLayout" style="width: 300px; float: left; height: 200px; padding-left: 10px;"></div>
    renderTo: "FitLayout",
    items: [
      new Ext.Panel({
        bodyStyle: "background:yellow",
        html: "未使用了fit布局,没有填充满"
      })
    ]
  });
});

7.TableLayout

「介绍」:表格布局,含有行与列的概念更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

7.1 展示

TableLayout

7.2 代码

代码语言:javascript
复制
Ext.onReady(function() {
  var TableLayout = new Ext.Panel({
    title: "TableLayout",
    layout: "table",
    layoutConfig: { columns: 3 },
    defaults: {
      width: 133,
      height: 100,
      autoEl: "center"
    },
    defaultType: "panel",
    items: [
      { html: "行1列1" },
      { html: "行1列2" },
      { html: "行[1,2]列3", rowspan: 2, height: 180 },
      { html: "行2列[1,2]", colspan: 2, width: 266 }
    ],
    //将面板显示到HTML中:
    //<div id="TableLayout" style="width: 400px; float: left; padding-left: 10px;"></div>
    renderTo: "TableLayout"
  });
});
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.AccordionLayout
    • 1.1 展示
      • 1.2 代码
      • 2.BorderLayout
        • 2.1 展示
          • 2.2 代码
          • 3.ColumnLayout
            • 3.1 展示
              • 3.2 代码
              • 4.ContainerLayout
                • 4.1 展示
                  • 4.2 代码
                  • 5.FormLayout
                    • 5.1 展示
                      • 5.2 代码
                      • 6.FitLayout
                        • 6.1 展示
                          • 6.2 代码
                          • 7.TableLayout
                            • 7.1 展示
                              • 7.2 代码
                              相关产品与服务
                              容器服务
                              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档