转自http://www.yuuzle.com/extjs-xtype-meaning-and-table.html
序言
根据我在论坛上的观察,xtype
用起来的时候疑惑会比较多。甚至有些人根本忽略xtype
,或者不清楚它是什么。所以我决定阐述一下这个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,那么在内存中的仅仅是一个配置项对象,像:
1:
{xtype:'mygrid", border:false
, width:600, height:400, ...}
消耗没有复杂的实例对象来得大。
嗯,用户点击按钮或图标会怎么样呢?Ext会辨认出它是一个准备要渲染的grid但不立刻实例化,Ext在ComponentMgr的帮忙下
明白这么一回事:“如果我要实例化xtype mygrid的对象,我就知道要创建的实际是类Ext.ux.MyGrid的对象”。即如下列代码:
1:
create : function
(config, defaultType){
2:
return
new
types[config.xtype || defaultType](config);
3:
}
等价于:
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 进度条
splitbutton Ext.SplitButton 可分裂的按钮
tabpanel Ext.TabPanel 选项面板
treepanel Ext.tree.TreePanel 树
viewport Ext.ViewPort 视图
window Ext.Window 窗口
工具栏组件有
—————————————
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 Ext.FormPanel Form面板
checkbox Ext.form.Checkbox checkbox录入框
combo Ext.form.ComboBox combo选择项
datefield Ext.form.DateField 日期选择项
field Ext.form.Field 表单字段
fieldset Ext.form.FieldSet 表单字段组
hidden Ext.form.Hidden 表单隐藏域
htmleditor Ext.form.HtmlEditor html编辑器
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 class对照表
`ExtJS xtype class对照表`文档详细列出了所有内置的`xtype`及其对应的`class`,这对于理解和使用ExtJS组件库至关重要。了解这些对照关系,能够帮助开发者更高效地编写代码,减少重复工作,同时提高应用的性能和用户...
ExtJS 中的 xtype 是一个非常重要的概念,它用于定义组件的类型,从而确定组件的行为和样式。xtype 是 ExtJS 的核心组件之一,它提供了大量的组件类型,满足不同场景下的需求。 基本组件 1. button - xtype: '...
EXTJS 是一个流行的JavaScript框架,用于构建富...在EXTJS开发中,理解和熟练运用`xtype`、`Ext.QuickTips.init()`以及`vtype`能够帮助我们更高效地构建用户界面,提供更好的用户体验,同时确保数据的准确性和安全性。
在ExtJs框架中,`xtype`是用于定义组件类型的扩展类型。这是一种简化的组件标识方式,使得开发者可以更方便地在配置文件或代码中指定组件类型,而无需完整地写出对应的类名。下面,我们将根据提供的内容对ExtJs中的...
`xtype` 是ExtJS中的一个重要概念,它是组件类的简写形式,用于在配置对象中声明组件类型,使得代码更加简洁。理解并掌握ExtJS的各种`xtype`可以帮助开发者快速构建复杂的用户界面。 1. **基本组件**: - `button`...
在ExtJs框架中,`xtype`是一种用于标识组件类型的字符串,它定义了组件的类。这个特性使得在创建UI时能够简洁地指定组件的类型,而无需直接实例化具体的类。以下是一些主要的`xtype`及其对应的组件类和功能的详细...
在ExtJS框架中,`xtype`是一种用于标识特定组件类型的简短字符串,便于在配置对象中快速定义组件。本文将深入探讨ExtJS中的各种`xtype`类型,帮助开发者更好地理解并运用这些组件。 #### 基本组件 1. **`button`:*...
本文档将详细介绍Extjs中包含的所有`xtype`值,并解释它们的功能和用途。 #### 二、基本组件 1. **`button`:** - **`xtype`**: `button` - **`Class`**: `Ext.Button` - **描述**: 一个简单的按钮组件,常用于...
1. **ExtJS实用开发指南**:此部分主要针对ExtJS的实际应用,包含如何快速上手、组件的使用、布局管理、数据绑定和Ajax交互等内容。开发者可以从中了解到如何创建基本的页面结构,使用GridPanel展示数据,以及通过...
extjs3.0中英文对照chm api
这份“extjs中文帮助文档和英文api”提供了全面的ExtJS API信息,帮助开发者理解并有效地使用这个框架。 中文帮助文档(extjs帮助文档.chm)对ExtJS的各种组件、类、方法、属性进行了详尽的解释,使得不懂英文或者...
动态表头是ExtJS中一个高级特性,它允许开发者根据需要在运行时动态地创建和修改表格的列结构。这在处理数据展示和操作时具有很大的灵活性,尤其在数据字段不确定或需要自定义的情况下非常实用。 标题“extjs 实现...
在"ExtJs3.3中文API.CHM"中,开发者可以找到关于ExtJS 3.3的所有API和类的详细描述,以及相关的示例代码。 ExtJS 3.3的核心特性包括: 1. **组件化**:ExtJS基于组件模型,提供了一系列预定义的UI组件,如按钮、...
Extjs中文文档,包含Extjs的基本语法和各个类的详细说明以及用法。
Extjs 中文API文档,有对Extjs相关API的中文说明
在《ExtJs 实例》中,你将找到各种实际应用场景的代码示例,这些实例涵盖了ExtJs的各种组件和功能。通过学习这些实例,你可以更好地理解如何在实际项目中应用ExtJs,例如如何创建网格(Grid)、表单(Form)、树形...
手册中涵盖了ExtJS 3.3的所有类、方法、事件、属性和配置选项,对于开发者来说是不可或缺的工具。 1. **组件系统**:ExtJS的核心在于其组件模型,包括窗口(Window)、面板(Panel)、表格(Grid)、表单(Form)等...
在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败。ExtJS4 已完全重新写 grid 组件,tree 也被更新,所以从版本 3 到 4 大部分的属性改变了。 在 ExtJS4 中,API 也发生了很...
在IT行业中,ExtJS是一个广泛使用的JavaScript库,用于构建富客户端Web应用程序。它提供了一整套组件和工具,包括表格、窗体、菜单等,帮助开发者创建功能丰富的、交互式的用户界面。本教程将深入探讨如何在ExtJS中...