1,面板由以下几个部分组成,

  一个顶部工具栏(tbar)、一个底部工具栏(bbar)、面板头部(header)、面板尾部(bottom)、面板主区域(body)几个部分组成。
  面板类中还内置了面板展开、关闭等功能,并提供一系列可重用的工具按钮使得我们可以轻松实现自定义的行为,面板可以放入其它任何容器中,面板本身是一个容器,他里面又可以包含各种其它组件。
  面板的类名为Ext.Panel,其xtype为panel

2,知识点:

  render()方法 ,后面的参数可以是 一个字符串代表Id,或dom节点,或Ext.get()返回的Element

  handler()方法,当按钮点击时,会触发handler方法

面板主区域body,可以放 html 字符串,也可以放 items指定的组件

我们可以在面板中动态添加、更改、删除组件或者里面的html. (参考下面的例子)

3, 示例

Ext.onReady(function(){
    //Panel 面板 是可视化的容器组件
    var panel=new Ext.Panel({
        width:500,
        height:400,
        collapsible:true, //可展开和收缩
        tools:[{id:"save"},
               {id:"print",handler:function(){
                   window.print();
               }}],
        //面板头部 header
        title:'我的面板',
        //顶部工具栏 toptoolbar
        tbar:[{text:"保存"},"-",{text:"关闭"}], //使用 - 表示分割符
        //底部工具栏 bottomtoolbar
        bbar:[{text:"添加内容",
            //当按钮点击时,会触发handler方法
            handler:function(){
                panel.add({title:'面板3'});
                panel.doLayout(); //调用重新布局,才会显示出来面板

                // 删除panel里面的东西
                // remove的参数为 组件Id或者组件本身
                var p2=panel.getComponent(1);// 获取Item中的组件

                panel.remove(p2);

            }},{text:"更新内容",
                handler:function(){
                    panel.load("new.html");
                    panel.body.update("<h1>新内容</h1>"+new Date());
            }},
            ],
        //尾部区域 bottom
        buttons:[{text:"确定"},{text:"取消"}],
        //底部按钮的对齐方式
        buttonAlign:"center",
        //面板的主区域 body
        //html:"<h1>面板的body区域</h1>"
        //加载其它页面的内容
        //autoLoad:"aaa.html"
        //放其它的组件  xtype说明是什么组件,在面板中如果不指定,它的xtype就是panel
        items:[{xtype:"button",text:"按钮"},
               {title:"面板2",height:200,border:false}],

    });

    //render()方法 ,后面的参数可以是 一个字符串代表Id,或dom节点,或Ext.get()返回的Element
//    panel.render(document.body);
//    panel.render("p");
    panel.render(Ext.get("p"));

});

02_Ext_Panel的更多相关文章

随机推荐

  1. Android MediaCodec硬编兼容性测试方案

    作者:阿宝 更新:2016-08-15 来源:彩色世界(https://blog.hz601.org/2016/08/15/android-mediacodec-hardcode-compatibil ...

  2. 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(二)用户接口层之RtspClient类及其构造函数

    RtspClient类是myRTSPClient函数库所有特性集中实现的地方. 主要为用户提供: 1. RTSP协议通信接口函数,如DoOPTIONS(): 2. RTSP账号.密码设置函数,如Set ...

  3. easyui问题小结(转)

    问题一:如何将easyui的west面板上的收缩箭头隐藏? 如图效果: 做法: <div data-options="region:'west'" style="w ...

  4. 包含常用功能的 gulpfile.js

    相关包安装 建议使用cnpm npm install --save-dev ***** 其中 ***** 部分表示所需要的包模块,如 gulpfile 中的 require('gulp-useref' ...

  5. JavaScript 学习笔记 - LocalStorage

    前言 本文主要介绍本地存储的基本使用,以及它和 Cookie.SessionStorage 的区别. 简单回顾 Cookie 在 HTML5 之前,本地存储数据一般是通过 Cookie 来完成的.我们 ...

  6. [读书笔记] 二、条件注解@Conditional,组合注解,元注解

    一.条件注解@Conditional,组合注解,元注解 1. @Conditional:满足特定条件创建一个Bean,SpringBoot就是利用这个特性进行自动配置的. 例子: 首先,两个Condi ...

  7. 网络协议TFTP

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议.和使用TCP的文件传输协议(FTP ...

  8. Android Studio发布项目到jcenter,一行代码引入Module

    前面我们使用自己封装的okhttp项目时候,只需要app/build.gradle文件中加一行代码就能使用项目. compile 'com.ansen.http:okhttpencapsulation ...

  9. mysql数据库基本操作以及获取数据库强大帮助文档

    MySQL数据库强大帮助文档 mysql 中help等价于\h或者? mysql> ? create database;(查看创建数据库的语法) mysql> ? drop databas ...

  10. 优先队列的二叉堆Java实现

    package practice; import edu.princeton.cs.algs4.StdRandom; public class TestMain { public static voi ...