//Ext JS 3.x class definition
MyApp.LoginWindow = Ext.extend(Ext.Window, {
title: 'Log in',
initComponent: function() {
Ext.apply(this, {
items: [
{
xtype: 'textfield',
name : 'username',
fieldLabel: 'Username'
},
...
]
});
MyApp.LoginWindow.superclass.initComponent.apply(this, arguments);
}
});
Ext.reg('MyApp.LoginWindow',MyApp.LoginWindow);
之后便可以使用xtype MyApp.LoginWindow 来创建该组件,
但是extjs4.x 是使用define来创建自定义组件,并注册xtype
//Ext JS 4.x class definition
Ext.define('MyApp.LoginWindow', {
extend: 'Ext.Window',
title: 'Log in',
initComponent: function() {
Ext.apply(this, {
items: [
//as above
]
});
MyApp.LoginWindow.superclass.initComponent.apply(this, arguments);
}
});
Ext.define('Ext.ux.form.MultiSelect', {
extend: 'ClassNameYouAreExtending',
alias: 'widget.multiselect'
});
xtype 是
'multiselect'
同时函数内部,使用的控件名是
Ext.ux.form.MultiSelect