Extjs4 up and down 的使用方法

Extjs4中up()和down()的用法

Extjs4.x中,每个组件都新增加了两个方法up()和down()方法。这两个方法都是用来获取组件的,下面我们来看下up()方法和down()方法的官方解释。

Extjs4.x中,新增加了两个方法up()和down()方法。这两个方法都是用来获取组件的,下面我们来看下官方解释。

up( String selector, [Number/Mixed maxDepth] ) : Ext.core.Element

selector:必选,字符串形式,表示要匹配的组件。

Maxdepth:可选,表示要匹配的最大深度。

up方法的API解释为:通过简单的选择,获得相匹配的dom,使用up方法总是返回一个Ext.core.Element,也就是ext的组件。

down( String selector, [Boolean returnDom] ) : HTMLElement/Ext.core.Element

selector:必选,字符串形式,表示要匹配的组件,

returnDom:可选,布尔类型,如果为true,则返回DOM节点,而不是Ext.core.Element。值默认为false。

down方法的API解释,通过选择器,来获得任何深度的子组件,在down方法中,不应该包含组件的id,而应该是组件的xtype。

下面我们来看他的用法。先看一段代码。

  1. Ext.require(‘Ext.*‘);
  2. Ext.onReady(function(){
  3. var win = Ext.create(‘Ext.window.Window‘,{
  4. height: 160,
  5. width: 280,
  6. title: ‘用户登陆‘,
  7. closeAction: ‘hide‘,
  8. closable : false,
  9. iconCls: ‘win‘,
  10. layout: ‘fit‘,
  11. modal : true,
  12. plain : true,
  13. resizable: false,
  14. items:[{
  15. xtype:‘form‘,
  16. items:[{
  17. //.....
  18. }],
  19. button:[{
  20. text:‘登录‘,
  21. handler:function(){
  22. }
  23. }]
  24. }]
  25. })
  26. });
Ext.require(‘Ext.*‘);
 Ext.onReady(function(){
  var win = Ext.create(‘Ext.window.Window‘,{
   height: 160,
   width: 280,
   title: ‘用户登陆‘,
   closeAction: ‘hide‘,
   closable : false,
   iconCls: ‘win‘,
   layout: ‘fit‘,
   modal : true,
   plain : true,
   resizable: false,
   items:[{
    xtype:‘form‘,
    items:[{
     //.....
    }],
    button:[{
     text:‘登录‘,
     handler:function(){

     }
    }]
   }]
  })
 });

这段代码中,我们创建了一个window,然后在window中添加了一个form。最后增加了一个button。button的handler,我们定义了一个function。下一步,我们在这个function中添加代码。

  1. var form = this.up(‘form’).getForm();
var form = this.up(‘form’).getForm();

这里用到了this.up。具体解释下。这里this。就是button组件,up(‘form’)是指匹配form组件。那么合起来,我们就得到了form组件,并且得到整个form。

在这个例子中,我们并不需要down方法。因为无论是获取form还是window.我们都可以使用this.up(‘form’)或this.up(‘window’)来获取form组件和window组件。

为了介绍下down方法。我们将整个过程复杂化一些。

  1. var form = this.up(‘window’).down(‘form’).getForm();
var form = this.up(‘window’).down(‘form’).getForm();

相信大家已经很明白了,this.up(‘window’)获取了顶级的window组件。接着使用down()方法获取了window的子组件form组件,最后使用getForm()来获取整个form。

结语:在extjs4中,extjs给每个组件增加了up()和down()方法,这样使得我们更加容易得到每个组件的父级组件和子级组件。当然,除了这些方法,extjs还增加了更加强大的ComponentQuery类,通过这个类,我们可以使用更多的方法来找到所需要的任何组件。具体ComponentQuery的用法

感谢http://blog.csdn.net/li_xiao_ming/article/details/7063610的分享

时间: 2024-10-06 00:23:05

Extjs4 up and down 的使用方法的相关文章

Extjs4 RowEditing 的使用和更新方法

Extjs4 RowEditing 的使用和更新方法 2013-09-05 16:29 11026人阅读 评论(0) 收藏 举报  分类: Extjs(49)  版权声明:本文为博主原创文章,未经博主允许不得转载. 如何灵活快速的掌握RowEditing组件的应用,应大家的要求,今天给大家具体讲下该组件的使用. 1.创建 var rowEditing = Ext.create('Ext.grid.plugin.RowEditing',{            pluginId:'rowEditi

Extjs4.10Model模型详解

一.创建Model模型 Extjs4.10提供了两种方法来创建Model模型,也就是创建类 方法一: Ext.define('person',{ extend:'Ext.data.Model'     //必须继承类 fields:[ {name:'name',type:'auto'}, {name:'age',type:'int'}, {name:'email',type:'auto'}, ] }); 方法二: Ext.regModel('person',{ fields:[ {name:'n

Echarts Jqplot嵌入extjs4 windows 组件方法

js组件画图最终是画在一个指定id的div或dom元素中, 在项目中有可能需要画在 Extjs容器中,研究了一下,可以通过以下的思路实现,方法跟大家共享下: 1.首先做一个容器,把此内容添加到window的items属性中.(或者new一个box,利用window.add函数添加进去) 将容器的id指定为chart要渲染的id. Js代码   { xtype: 'box', //或者xtype: 'component', id: 'chartID',   //Echarte或JQplot要渲染的

ExtJs4常用配置方法备忘

viewport布局常用属性 new Ext.Viewport({ layout: "border", renderTo: Ext.getBody(), defaults: { bodyStyle: "background-color: #FFFFFF;", frame: true }, //split为true,即可达到上下左右拉伸效果 //layout:fit,填满布局 //collapsible:true,north模块被收缩到最上面 items: [{ re

ExtJS4教程—-Ext.onReady、Ext.define、Ext.create基础方法(转)

Ext.onReady 说明:onReady内的语句块会在页面上下文加载后再执行 例子: <html> <head> <title>Index</title> <link href="http://www.cnblogs.com/Scripts/ext-4.0.7-gpl/ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="te

Extjs4 使用store的post方法

Extjs4 使用store的post方法 引用官网的一句话 Now when we call store.load(), the AjaxProxy springs into action, making a request to the url we configured ('users.json' in this case). As we're performing a read, it sends a GET request to that url (see actionMethods 

Extjs4.0以上版本智能提示的方法

最近,公司的BS项目要用Extjs,本屌学过JavaScript..和Jquery Easy UI  ,Jquery..可这个Extjs完全没接触过..可公司项目进度不能掉..只有苦心学习,终于写了点东西出来,可本屌英语太差..天天查着API写着代码,真的是无比的忧桑,但是,公司是VS2012网上的各种提示方式,提示都不全,甚至会导致很多地方错误,固通过各种方式寻找完美的提示,最终发现,Spket IDE 的独立编译器提示无比的全,而且相当好用...其实Spket..网上一直都说是MyEci..

ExtJs4组件中initComponent方法介绍以及为什么要使用this.callParent();

我们知道,Ext的UI组件有一个initCompent()方法. 这个方法定义在UI组件顶级类Component中,在Component的构造函数中会调用它进行组件初始化操作. Component的子类都覆盖了initCompent方法,在不同的层级上做了不同的处理.举个例子,从Window一直 到Conponent,会形成这样一个调用链条. 从图中可以看到初始化当前组件的时候,要从最顶端组件开始初始化,每个组件都承担了构建最终组件的任务. 看到这里我们不禁发出疑问,怎么在调用当前组件的init

Echarts Jqplot嵌extjs4 windows 装配方法

js组件绘图终于是画在一个指定id的div或dom元素中. 在项目中有可能须要画在 Extjs容器中,研究了一下,能够通过下面的思路实现,方法跟大家共享下: 1.首先做一个容器,把此内容加入到window的items属性中.(或者new一个box,利用window.add函数加入进去) 将容器的id指定为chart要渲染的id. Js代码   { xtype: 'box', //或者xtype: 'component', id: 'chartID',   //Echarte或JQplot要渲染的