/**
* 扩展Ext现有组件的两种方式
*/
// -----------------------第一种----------------------------
/**
* 这是扩展组件的构造方法 在里面可以进行很多初始化操作
*/
Ext.ux.MyFirstWindow = function(config) {
Ext.apply(this, config)// 复制配置对象属性到扩展组件
Ext.ux.MyFirstWindow.superclass.constructor.apply(this,
arguments);// 调用父类构造方法
// 继承父类的属性
// 在这里还可以调用一些其他的方法或自己定义的方法
// 比如:this.init(cfg); 如果你在extend方法内定义了该方法
}
/**
* 我们来扩展Ext.Window
*/
Ext.extend(Ext.ux.MyFirstWindow, Ext.Window, {
// 为扩展组件的属性赋予默认值
title : 'Default Title',
width : 300,
height : 200,
// 重写父类的组件初始化方法
initComponent : function() {
var self = this;// 如果初始化组件里有方法 这样就可以保持对制定范围内this的引用
this.buttons = [{
text : 'Save',
handler : function() {
Ext.Msg.show({
title : self.title,
buttons : Ext.Msg.OK,
icon : Ext.Msg.QUESTION,
msg : 'You Clicked Me'
})
}
}]
// 一定要记得调用父类的initComponent方法
Ext.ux.MyFirstWindow.superclass.initComponent
.call(this);
// 接下来可以注册事件监听器
this.on('close', function() {
Ext.Msg.alert("title", "Window Closed");
})
}
})
var myFirstWin = new Ext.ux.MyFirstWindow({
// 这是配置对象 可以覆盖默认值
})
myFirstWin.show(Ext.getBody());
//------------------------------------------------------
// 第二种扩展的方式是继承Ext.util.Observable 所有组件的顶级父类 它是直接继承Object的
// 第一步同样是构造方法 复制配置对象属性 继承父类属性
Ext.ux.MySecondWindow = function(config) {
Ext.apply(this, config);
Ext.ux.MySecondWindow.superclass.constructor.apply(this,
arguments);
}
Ext.extend(Ext.ux.MySecondWindow, Ext.util.Observable, {
// 在这里可以添加任意需要的属性和自己定义的属性
myTitle : 'DefaultTitle',
win : null,
buttons : null,
tbar : null,
show : function() {
var self = this;// 同样是保存this引用
var tbar = [{
text : 'Hello',
handler : function() {
Ext.Msg.alert("Title",
"You Clicked....");
}
}];
var cfg = {
title : self.myTitle,
width : 300,
height : 200,
tbar : tbar
}
self.win = new Ext.Window(cfg)
self.win.show(Ext.getBody());
}
})
var mySecondWin = new Ext.ux.MySecondWindow({
// 自定义属性值 覆盖默认值
})
mySecondWin.show(Ext.getBody());
- 大小: 8.6 KB
分享到:
相关推荐
一旦引入,你就可以在你的ExtJS组件中实例化`Ext.ux.HighChart`,并传递必要的配置选项,如图表类型、数据、颜色等。 例如,你可以创建一个新的`Ext.Panel`,并在其配置中包含`HighChart`组件: ```javascript var...
EXTjs组件是构建EXTJS应用程序的核心元素,它们是基于Ext.Component的子类,具备自动化的生命周期管理,包括创建、渲染、尺寸调整、定位和销毁等关键功能。组件是EXTJS中可交互的部件,可以是按钮、表格、面板等,...
本文将重点探讨ExtJS中组件扩展的两种主要层次及其实践要点。 #### 二、常见错误及原因分析 在使用ExtJS进行组件扩展时,开发人员常常会遇到一些典型的问题: 1. **没有封装**:这通常是由于开发者对ExtJS机制...
在EXTJS中,override方法是一种常见的代码复用和组件定制方式,它允许开发者对现有的类进行增强,添加新的功能或改变原有的行为,而无需改动EXTJS的核心源码。在这个例子中,可能就是通过override方法,将原有的月份...
创建预配置类是扩展组件的一种简单方法,它允许你定义一组默认配置,以减少重复代码并提高代码的复用性。例如,你可以创建一个名为 `MyComponent` 的预配置类,继承自 `Ext.some.component`,并注册一个对应的 `...
- **面板**是ExtJs中的另一个重要组成部分,它可以被视为一种特殊的容器组件,用于组织和布局其他组件。面板通常提供了一个灵活的容器,允许开发者自由地在其内部添加各种类型的组件,并控制它们的排列方式。 - **...
3. **ext-all-bug.js / ext-all.js** - 这两个文件包含了所有EXTJS组件。前者用于开发阶段的调试,后者则用于生产环境。 4. **Ext.onReady** - 这个函数用于在页面完全加载后执行EXTJS的相关代码,确保DOM元素已经...
配置项会包含上述两种选择器的所有选项,可以自定义日期和时间的格式。 4. **CSS和JS文件**:在提供的压缩包中,CSS文件用于定义控件的样式,如颜色、大小和布局等。JS文件则包含了ExtJS框架的核心代码以及这些特定...
总的来说,这个压缩包提供了两种不同版本的ExtJS,代表了该框架在不同时期的发展水平,开发者可以根据项目需求选择合适的版本。通过学习和使用这两个版本,可以深入理解ExtJS的设计理念,提高JavaScript编程技能,并...
### Extjs中文教程2.x 知识点概览 #### 一、Extjs简介与准备工作 **1.1 Extjs概述** - **定义**: Extjs 是一个基于 JavaScript 的开源前端框架,用于构建交互式 Web 应用程序。 - **特点**: 提供丰富的 UI 组件、...
ExtJs和Direct Web Remoting (DWR) 是两种在Web应用程序中实现富客户端交互的技术。ExtJs是一个强大的JavaScript框架,用于构建用户界面,而DWR则是一个允许JavaScript直接调用服务器端Java方法的库,无需AJAX的...
在实际项目中,使用OOP方式扩展ExtJS组件可以提高代码的可读性、可维护性和可复用性。通过理解ExtJS的类体系结构,结合OOP原则,我们可以创建出符合项目需求的定制化组件,提升Web应用的整体质量。
【EXTJS组件配置】EXTJS是一个强大的JavaScript库,专门用于构建富客户端的WEB应用程序。它引入了组件化开发的理念,使得在网页中构建桌面应用级别的界面成为可能。EXTJS提供了丰富的组件库,从简单的按钮、表格到...
在ExtJS中,Tree和Tab是两种常用的组件,分别用于展示层次结构的数据(如目录结构)和创建多页面布局。本篇文章将详细探讨如何利用JSON数据来实现这两者的交互。 首先,让我们了解一下`Tree`组件。在ExtJS中,Tree...
2. **数据绑定**:ExtJS引入了一种强大的数据绑定机制,使得UI组件可以直接与数据模型关联,当数据变化时,UI会自动更新,反之亦然,大大简化了数据驱动应用的开发。 3. **MVC模式**:框架支持Model-View-...
标题 "extjs_tapestry.rar_extjs tapestry_extjs_tapestry_tapestry" 暗示了这个压缩包是关于 ExtJS 和 Tapestry 两个框架整合使用的资源集合。描述指出,这些资源包含了在 Tapestry 框架中应用 ExtJS 的兼容性代码...
这些标签指明了我们正在处理的是ExtJS 4版本,涉及到了Combo和Grid两个核心组件,以及对它们进行扩展的方法。 在提供的压缩包文件中,有三个文件: 1. **GridComboBox.js**:这个文件很可能是实现combogrid扩展的...
DateTimeField通常会结合两种基本组件:DatePicker(日期选择器)和TimePicker(时间选择器)。用户可以分别选择日期和时间,然后在输入框中以特定的格式显示。在ExtJs中,DateTimeField的使用涉及到以下几个核心...
这里提到的一种方法是利用Selenium IDE的扩展(Extensions)功能。这种方法涉及到对Selenium IDE进行自定义,以适应ExtJs特有的行为。 首先,我们来看一下如何使用Xpath进行定位。由于ExtJs组件通常具有独特的结构...
【Ext 3.x + Ext 2.x 下拉树 Ext.ux.ComboBoxTree】是基于ExtJS框架的一个组件,它结合了下拉框(ComboBox)和树形控件(TreePanel)的功能,提供了一种用户友好的选择界面。在网页应用中,这种控件常用于展示层级...