`

ExtJs Xtype

 
阅读更多

定义 :
xtype就是一个代表类(Class)的标识名字。

譬如,你有这个类,名字是Ext.ux.MyGrid。正常情况下你需要用这个名字来实例化这个类(创建类的对象)。

除了类名外,你还可以这样登记类的xtype:
Ext.reg('mygrid', Ext.ux.MyGrid);

其中xtype 是 mygrid 而类名的一般形式是Ext.ux.MyGrid。上面的语句登记了新的xtype,换种说法说,xtype mygrid 与类 Ext.ux.MyGrid是连在一起的。

到底有什么好处?

试想一下,你手头上的是一个大型的项目,为了响应用户的操作,程序里面包含者大量的对象(windows、forms、grids)。用户点击图标或按钮,就会新建一个窗体,窗体里面又有grid,最终在屏幕上渲染出来。

嗯,我们回到Ext2.x之前的编码,那时候我们实例化所有对象是页面第一次加载后就进行的(程序代码第一次的运行)。在客户端内存中,Ext.ux.MyGrid类的对象已经存在,等待用户的点击。同样是这个grid,假设你上百个的实例,...是多么浪费宝贵的资源啊!很多grid其实用户未必会点击让它出现。

延时实例化

如果你使用xtype,那么在内存中的仅仅是一个配置项对象,像:
Java代码 复制代码

1. {xtype:'mygrid", border:false, width:600, height:400, ...}

消耗没有复杂的实例对象来得大。

嗯,用户点击按钮或图标会怎么样呢?Ext会辨认出它是一个准备要渲染的grid但不立刻实例化,Ext在ComponentMgr的帮忙下明白这么一回事:“如果我要实例化xtype mygrid的对象,我就知道要创建的实际是类Ext.ux.MyGrid的对象”。即如下列代码:

Java代码 复制代码

1. create : function(config, defaultType){
2. return new types[config.xtype || defaultType](config);
3. }


等价于:
Java代码 复制代码

1. return new Ext.ux.MyGrid(config);

然后实例化grid,进行渲染和显示。谨记:需要的时候才实例化。

xtype            Class
-------------    ------------------
box              Ext.BoxComponent
button           Ext.Button
colorpalette     Ext.ColorPalette
component        Ext.Component
container        Ext.Container
cycle            Ext.CycleButton
dataview         Ext.DataView
datepicker       Ext.DatePicker
editor           Ext.Editor
editorgrid       Ext.grid.EditorGridPanel
grid             Ext.grid.GridPanel
paging           Ext.PagingToolbar
panel            Ext.Panel
progress         Ext.ProgressBar
propertygrid     Ext.grid.PropertyGrid
slider           Ext.Slider
splitbutton      Ext.SplitButton
statusbar        Ext.StatusBar
tabpanel         Ext.TabPanel
treepanel        Ext.tree.TreePanel
viewport         Ext.Viewport
window           Ext.Window

Toolbar components
---------------------------------------
toolbar          Ext.Toolbar
tbbutton         Ext.Toolbar.Button
tbfill           Ext.Toolbar.Fill
tbitem           Ext.Toolbar.Item
tbseparator      Ext.Toolbar.Separator
tbspacer         Ext.Toolbar.Spacer
tbsplit          Ext.Toolbar.SplitButton
tbtext           Ext.Toolbar.TextItem

Form components
---------------------------------------
form             Ext.FormPanel
checkbox         Ext.form.Checkbox
combo            Ext.form.ComboBox
datefield        Ext.form.DateField
field            Ext.form.Field
fieldset         Ext.form.FieldSet
hidden           Ext.form.Hidden
htmleditor       Ext.form.HtmlEditor
label            Ext.form.Label
numberfield      Ext.form.NumberField
radio            Ext.form.Radio
textarea         Ext.form.TextArea
textfield        Ext.form.TextField
timefield        Ext.form.TimeField
trigger          Ext.form.TriggerField

分享到:
评论

相关推荐

    extjs xtype

    在EXTJS中,`xtype`是一个关键的概念,它用来定义组件的类型或类。`xtype`是EXTJS中组件的简写形式,可以理解为组件的标识符,用于创建组件实例时引用已定义的组件类。通过使用`xtype`,开发者可以简化代码,减少...

    extJs xtype 类型

    ### ExtJS xtype 类型概述 在ExtJS框架中,`xtype`是一种用于标识特定组件类型的简短字符串,便于在配置对象中快速定义组件。本文将深入探讨ExtJS中的各种`xtype`类型,帮助开发者更好地理解并运用这些组件。 ####...

    ExtJS xtype class对照表

    ExtJS xtype class对照表

    extjs中的xtype的所有类型介绍

    ExtJS 中的 xtype.typename 介绍 ExtJS 中的 xtype 是一个非常重要的概念,它用于定义组件的类型,从而确定组件的行为和样式。xtype 是 ExtJS 的核心组件之一,它提供了大量的组件类型,满足不同场景下的需求。 ...

    ExtJs xtype一览

    ### ExtJs xtype一览 在ExtJs框架中,`xtype`是用于定义组件类型的扩展类型。这是一种简化的组件标识方式,使得开发者可以更方便地在配置文件或代码中指定组件类型,而无需完整地写出对应的类名。下面,我们将根据...

    Extjs xtype集合

    ### Extjs xtype集合详解 #### 一、基本概念与背景 在Extjs开发过程中,`xtype`(扩展类型)是极为重要的一个概念。它实际上是一种类型标识符,用于快速创建特定类型的组件实例。通过使用预定义的`xtype`值,...

    extjs的xtype class对照表

    在ExtJS中,`xtype` 是组件(Component)的标识符,它定义了组件的类型。`xtype` 类似于HTML中的元素标签,但针对ExtJS的组件体系。它们是轻量级的,用于创建组件实例时引用预定义的组件类。`xtype` 与对应的`class`...

    extjs 必填项目加*

    extjs 必填项目加*

    EXTJS 自定义combo控件

    xtype : 'jxcombo' //配置项 jxValueField:要获取值得字段名称,默认null //公共方法 getJXValue():返回自定义字段的值,如果没有自定义字段,则等价Ext.form.Combo类的getValue()方法

    Extjs4使用要点个人整理

    5. **xtype列表**:`Extjs xtype列表.docx`可能列出所有可用的xtype,这是ExtJS中组件的类型标识符,用于快速创建特定类型的组件,如panel、grid等。 6. **JSONStore加载Web服务返回的JSON数据**:`Ext4 JSONStore...

    ExtJS的xtype列表

    `xtype` 是ExtJS中的一个重要概念,它是组件类的简写形式,用于在配置对象中声明组件类型,使得代码更加简洁。理解并掌握ExtJS的各种`xtype`可以帮助开发者快速构建复杂的用户界面。 1. **基本组件**: - `button`...

    ExtJs_xtype一览

    在ExtJs框架中,`xtype`是一种用于标识组件类型的字符串,它定义了组件的类。这个特性使得在创建UI时能够简洁地指定组件的类型,而无需直接实例化具体的类。以下是一些主要的`xtype`及其对应的组件类和功能的详细...

    EXtjs 图片批量上传

    xtype: 'filefield', name: 'images', fieldLabel: '选择图片', allowMultiple: true, buttonOnly: true, buttonText: '浏览' }] ... }); ``` 接着,我们需要监听`change`事件,当用户选择文件后,可以读取...

    EXTJS讲解个人项目经历

    每个EXTJS组件都有一个唯一的xtype属性,用于标识组件的类型。这使得在配置文件中可以通过xtype来创建和引用组件,而不是直接实例化。 7. **EXTJS组件分类**: - **基本组件**:如Box、Button、Panel、Progress ...

    Extjs5.0 Mini 轻量级 使用方式概述 引用讲解 Extjs5.0 gray

    ExtJS 是一个强大的JavaScript应用程序框架,专用于构建富客户端Web应用。在5.0版本中,它提供了一个轻量级的版本,称为“Mini”,旨在减少应用的体积,提高加载速度,尤其适合对性能有较高要求或者需要快速开发的...

    ExtJS icons(5000个extjs小图标).zip

    ExtJS是一款广泛应用于开发富互联网应用(Rich Internet Applications, RIA)的JavaScript框架。它提供了大量的组件、功能和工具,使开发者能够构建交互性强、视觉效果丰富的Web应用程序。在这个"ExtJS icons(5000...

    extjs资料大全

    - `ExtJs_xtype一览(转载).doc`:XType是ExtJS中定义组件类型的方式,这份文档可能详列了各种预定义的组件类型,帮助开发者快速查找和理解。 - `Ext常用属性总结.doc`:总结了ExtJS中常用的组件属性,对理解和配置...

    ExtJS验证上传文件类型

    ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...

    界面框架extjs学习笔记

    EXTJS的组建基于Component类,每个组件都有一个xtype属性来标识其类型。在使用EXTJS之前,理解其目录结构、所需引入的文件以及如何配置基础设置至关重要。此外,还要注意浏览器加载页面的差异,特别是对于Web 2.0...

Global site tag (gtag.js) - Google Analytics