Ext JS 5(三)组件

组件

组件是Ext JS 项目中用来构成用户界面的。
容器是组件中特殊的部分,用来装载其他组件。

var childPanel1 = Ext.create('Ext.panel.Panel', {
    title: 'Child Panel 1',
    html: 'A Panel'
});

var childPanel2 = Ext.create('Ext.panel.Panel', {
    title: 'Child Panel 2',
    html: 'Another Panel'
});

Ext.create('Ext.container.Viewport', {
    items: [ childPanel1, childPanel2 ]
});

Ext.container.Viewport代表浏览器窗口的整个区域,将document body作为渲染对象,它会根据浏览器窗口的大小自动调整自身的尺寸,在一个页面中只允许出现一个Viewport实例。此外它没有提供对滚动条的支持,如果需要使用滚动条需要在其子面板中进行设置。
Ext.panel.Panel也是容器,在Ext项目中特别常用。

xtype

每个组件都有自己的xtype,比如Ext.panel.Panel的xtype是‘panel’,除了上面那个例子我们还可以以xtype的形式给容器添加组件:

 Ext.create('Ext.tab.Panel', {
        renderTo: Ext.getBody(),
        height: 100,
        width: 200,
        items: [
            {
                xtype: 'panel',
                title: 'Tab One',
                html: 'The first tab',
                listeners: {
                    render: function() {
                        Ext.MessageBox.alert('Rendered One', 'Tab One was rendered.');
                    }
                }
            },
            {

                title: 'Tab Two',
                html: 'The second tab',
                listeners: {
                    render: function() {
                        Ext.MessageBox.alert('Rendered One', 'Tab Two was rendered.');
                    }
                }
            }
        ]
    });

说的直白一些,xtype是组件的小名。有关其他组件的xtype可以查询API 的头部位置。

hide & show

组件提供了显示以及隐藏的方法

var panel = Ext.create('Ext.panel.Panel', {
        renderTo: Ext.getBody(),
        title: 'Test',
        html: 'Test Panel',
        hideMode: 'visibility' // use the CSS visibility property to show and hide this
component
    });

    panel.hide(); // hide the component

    panel.show(); // show the component
自定义组件

记得上篇类是怎么自定义的么,自定义组件也是一样的方式。

Ext.define('My.custom.Component', {
    extend: 'Ext.Component',

    newMethod : function() {
       //...
    }
});
Template method pattern

extjs 提供了很多模板方法,在自定义组件时起到重要的作用。

  • initComponent :该方法由构造函数调用。它是用来初始化数据,设置配置,并处理事件程序。
  • beforeShow : 这个方法在显示该组件之前被调用。
  • onShow : 允许在显示操作时附加操作,在父类的onShow执行之后组件将会显示。
  • afterShow : 这个方法在组件显示之后执行。
  • onShowComplete: 在afterShow 执行完成之后执行。
  • onHide : 在组件隐藏时的附加操作,在父类的onHide执行之后组件将会隐藏。
  • afterHide : 在组件隐藏之后执行。
  • onRender
  • afterRender
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值