有些时候,Ext提供的组件已经不能满足我们的需要,这时我们就需要在Ext组件的基础上进行扩展。以达到代码复用
接下来就已扩展Ext.form.ComboBox为例写一个简单的例子:
//设置命名空间
Ext.namespace('un');
//构造函数
un.ComboBox=function(config){
/**
* 在这里写我们的私有代码
*/
if(config.store===undefined){
config.store=new Ext.data.SimpleStore({
data:[["1",'测试1'],[2,"测试2"]],
fields:["id","name"]
});
config.displayField="name";
config.valueField="id";
config.mode="local";
}
Ext.apply(this, config);//该句很重要
un.ComboBox.superclass.constructor.call(this);
}
//让组件un.ComboBox继承Ext.form.ComboBox
Ext.extend(un.ComboBox,Ext.form.ComboBox,{
initComponent : function(){
/**
* 写自己的私有实现
*/
un.ComboBox.superclass.initComponent.call(this);
},
initEvents : function(){
/**
* 写自己的私有实现
*/
un.ComboBox.superclass.initEvents.call(this);
},
onRender:function(ct, position){
/**
* 写自己的私有实现
*/
un.ComboBox.superclass.onRender.call(this,ct,position);
}
});
//注册类型
Ext.reg('myCombo', un.ComboBox);
分享到:
相关推荐
使用这个模拟库,你可以像使用原生jQuery一样调用 `$.fn.extend` 和 `$.extend`: ```javascript _$_().fn.extend({myMethod: function() {console.log('My custom method!')}}) _$_().myMethod(); // 输出 "My ...
7.2.10 使用浏览器存储的代理:ext.data.webstorageproxy、ext.data. sessionstorageproxy和ext.data.proxy.localstorage / 314 7.3 读取和格式化数据 / 315 7.3.1 概述 / 315 7.3.2 数据的转换过程:ext.data....
如果你想要扩展 `Ext.Component` 或其子类,你可以使用 `Ext.extend()`,但在 Ext2.x 及之后的版本,你通常不需要定义自己的构造函数,而是重写 `initComponent()` 方法来初始化你的组件。 创建预配置类是扩展组件...
- `Ext.extend(subClass, superClass[, overrides])`:创建一个新的子类,继承自指定的父类。 #### 二、Array类(第4页) - **概述**:Array类提供了处理JavaScript数组的增强功能。 - **常用方法**: - `Ext....
tx.data.ListStore = Ext.extend(Ext.data.Store, { constructor: function(){ // superclass call tx.data.ListStore.superclass.constructor.call(this, { sortInfo:{field: 'listName', direction: "ASC"}, ...
在 ExtJS 4.x 中,类的创建和继承得到了改进,不再局限于简单的 `Ext.extend`。现在,可以更灵活地处理配置、静态属性和混入(Mixins): 1. **旧式继承** 传统的 `Ext.extend` 方法用于创建新类,如 `var MyWindow...
14.1 利用Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1 定义命名空间 14.2.2 使用xtype 14.3 用户扩展和插件 14.3.1 编写自定义用户扩展 14.3.2 常用插件UploadDialog 14.3.3 常用插件...
EXTJS中的所有对象都是由`Ext.extend()`函数或`Ext.apply()`函数来创建的。例如,如果你要创建一个简单的Panel对象,可以这样做: ```javascript var myPanel = Ext.extend(Ext.Panel, { title: '我的面板', ...
以下是一个简单的创建Ext树的示例代码: ```javascript Ext.application({ name: 'MyApp', launch: function () { var store = Ext.create('Ext.data.TreeStore', { model: 'NodeModel', root: { text: '根...
Mis.Ext.CrudPanel = Ext.extend(Ext.Panel, { // ... 具体实现细节省略 }); ``` 要使用这个CRUD面板,需要进一步继承并实现特定的需求,比如文中给出的例子是创建一个污水厂管理面板: ```javascript ...
类的创建和继承则可以通过JavaScript的原型链实现,或者使用ExtJS提供的`Ext.extend`方法。此外,`Ext.apply`可以用于向对象动态添加属性和方法。 获取界面上的元素是ExtJS中的重要操作,这主要通过Ext.Element实现...
8、Ext.js的写类方式 这里用的是Ext core3.0,Ext中用Ext.extend来定义一个类(当然它更多用来扩展一个类),Ext整个框架各种控件如Panel,MessageBox等都是用Ext.extend方法来扩展。这里仅仅用它来定义一个最简单的...
14.1 利用Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1 定义命名空间 14.2.2 使用xtype 14.3 用户扩展和插件 14.3.1 编写自定义用户扩展 14.3.2 常用插件UploadDialog 14.3.3 常用插件...
2. **类定义**:可以使用传统的JavaScript构造函数方式定义类,也可以使用Ext的`Ext.extend`方法实现继承。 3. **对象扩展**:`Ext.apply`可以用来向对象动态添加属性和方法。 **五、元素选择与获取** 1. **Ext....
tx.data.ListStore = Ext.extend(Ext.data.Store, { constructor: function() { // superclass call tx.data.ListStore.superclass.constructor.call(this, { sortInfo: { field: 'listName', direction: "ASC...
它使用 `Ext.extend()` 方法来实现类的继承,这样就可以复用和扩展已有的组件功能。 在 CRUD 面板的实现中,可以看到 `edit()`, `save()`, 和 `removeData()` 方法,这些都是针对数据操作的关键函数。例如,`edit()...
Ext.extend(MyPlugins.ImageInsert, Ext.util.Observable, { // 其他插件相关方法和事件处理 }); ``` 2. 创建按钮:在插件中定义一个方法来创建按钮,包括按钮的图标、文字、监听器等属性。 ```javascript create...
通过以上步骤,我们就能在VS环境下搭建一个使用Ext4.2 TreePanel的简单应用,并与数据库进行交互。这只是一个基础的框架,实际开发中可能需要根据业务需求进行更多的定制和优化,例如增加拖放功能、节点展开动画、...