ExtJs中xtype含义和对照表

2025-12-31 03:26:46

转自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 触发录入项

    中国北方黍粟农业如何起源:生态环境和人类行为共同驱动
    真三國無雙起源宛城之戰if線怎麼打

    Copyright © 2022 摩洛哥世界杯_直播世界杯决赛 - dgaida.com All Rights Reserved.