-
ExtJs的继承和组件的扩展问题5
用4的语法来表达:Ext.define('myComponent',{ extend:'Ext.panel.Panel', //...code1 here... , Ext.apply(this,{ //...code2 here... , this.callParent(arguments); }); });
写在code1和code2处的,如果是配置项,当扩展的组件被实例化出来,有什么区别?如果需要添加一个自定义的组件内置函数,应该写在哪里?最后的this.callParent(arguments);有什么意义?是必须的吗?2014年5月10日 22:52
4个答案 按时间排序 按投票排序
-
Ext.define('component.public.AjaxStore', {
extend : 'Ext.data.JsonStore',
alias : 'ajaxStore',
constructor : function(config) {
config=config||{};
Ext.applyIf(config, {
proxy : {
type : 'ajax',
url : config.url ? config.url : null,
reader : {
type : 'json'
}
}
});
delete config.url;
this.callParent([config]);
},
});
this.callParent()是调用父组件的当前的this所在的方法
如当前的this在constructor 里面那么这里的callParent调用的就是
Ext.data.JsonStore的 constructor 方法2014年5月23日 22:28
-
//定义组件Ext.some.component的预配置类MyComponent MyComponent = Ext.extend(Ext.some.component, { myDefault1: '..', myDefault2: '..' }); //注册成xtype以便延迟加载 Ext.reg('mycomponentxtype', MyComponent); 可作为扩展Ext.Component的起点 MyComponent = Ext.extend(Ext.some.component, { //缺省构造参数,可被自定义设置覆盖 propA: 1, initComponent: function(){ //在组件初始化期间调用的代码 //因为配置对象应用到了“this”,所以属性可以在这里被覆盖,或者添加新的属性 //(如items,tools,buttons) Ext.apply(this, { propA: 3 }); //调用父类代码之前 //调用父类构造函数(必须) MyComponent.superclass.initComponent.apply(this, arguments); //调用父类代码之后 //如:设置事件处理和渲染组件 }, //覆盖其他父类方法 onRender: function(){ //调用父类代码之前 //调用父类相应方法(必须) MyScope.superclass.onRender.apply(this, arguments); //调用父类代码之后 } }); //注册成xtype以便能够延迟加载 Ext.reg('mycomponentxtype', MyComponent); 不过exjs里面的有很很多扩展的插件 你可以看下他里面的文档
2014年5月12日 10:38
相关推荐
在ExtJs框架中,日期组件(DateField)是用于用户输入日期的常见控件。然而,标准的ExtJs DateField并未内置...通过深入理解ExtJs的组件体系和MVC模式,我们可以灵活地扩展和定制任何控件,以满足不同业务场景的需求。
这些标签指明了我们正在处理的是ExtJS 4版本,涉及到了Combo和Grid两个核心组件,以及对它们进行扩展的方法。 在提供的压缩包文件中,有三个文件: 1. **GridComboBox.js**:这个文件很可能是实现combogrid扩展的...
总结起来,"extjs多选 下拉框扩展"是为了满足ExtJS应用中多选功能的需求,通过对原生ComboBox组件进行扩展和定制,实现了带有复选框的多选下拉框。这个扩展可能包括了新的配置项、模板修改、事件处理、数据模型、...
EXTJS提供了丰富的预定义组件,如Panel、Grid、Button等,开发者可以根据需求继承和扩展这些组件,创建自定义组件。组件之间可以通过嵌套形成层次结构,这种结构被称为组件层次结构。在EXTJS中,有一种特殊的组件...
在给定的场景下,"extjs6 datetimefield 扩展时间控件 分时秒控件"描述了一个针对EXTJS6的`datetimefield`组件的增强,目的是增加对小时、分钟和秒钟的单独选择功能。 EXTJS6是Sencha公司推出的一个强大的...
总结,ExtJS 4下拉多选扩展涉及到组件继承、配置项设置、Store管理、模板和渲染、事件处理以及API扩展等多个方面。通过这些知识点,开发者可以构建出功能丰富的多选下拉框,满足各种复杂场景的需求。在实践中,不断...
- **兼容性和维护**:保持与旧版本的兼容性,以及方便未来的维护,是更新版组件扩展的重要考量。合理的命名规范、注释和文档可以帮助其他开发者理解和使用你的扩展。 在实际项目中,使用OOP方式扩展ExtJS组件可以...
ExtJS Grid是一个强大的数据展示组件,它在Web应用程序中用于显示和操作大量数据。Grid提供了丰富的功能,包括分页、排序、过滤、编辑等,是ExtJS库中的核心组件之一。"Extjs Grid 扩展实例"是一个演示如何增强Grid...
在ExtJS4中,下拉树组件(TreeComboBox)是一种特殊的组合框,它结合了下拉列表和树形结构的功能,允许用户通过选择树节点来填充组合框的值。这种组件广泛应用于需要展示分层数据结构的应用场景中。 #### 二、核心...
- GridPanel支持分组,以及与分组功能结合的组件扩展。 ### 知识点详细解读 Extjs教程涵盖了从基础概念到具体组件应用的全方位内容。它强调了JavaScript面向对象编程(OOP)在Extjs框架中的应用,并通过实例演示了...
Extjs自定义组件—下拉树,不仅提升了用户体验,也展现了Extjs框架的强大扩展能力。通过本文的详细介绍,开发者可以掌握其实现细节,为自己的项目增添一个实用且美观的组件。无论是初学者还是经验丰富的开发者,都...
在JavaScript的世界里,ExtJS是一个强大的富客户端...总结,"Ext继承和扩展"是ExtJS开发中的核心技巧,它们帮助我们构建出高效、可维护的组件结构。理解和掌握这两个概念,对于提升ExtJS项目的质量和开发效率至关重要。
通过扩展ExtJS 4.2的日期控件,我们旨在创建一个新的控件,该控件不仅能够显示和选择日期,而且还能够选择具体的时间(小时、分钟、秒)。这将大大提高用户在填写表单时的灵活性,并且可以用于需要精确到秒级别的...
DateField作为视图的一部分,我们可以通过继承EXTJS的内置类并覆盖或扩展其默认功能来创建我们的自定义组件。 1. **创建扩展类**: 首先,我们需要创建一个新的类,继承自EXTJS的`Ext.form.field.DateField`。在...
通过查看和分析这些代码,我们可以学习如何在EXTJS中扩展和定制控件。 总结来说,EXTJS扩展年度控件是一项涉及到组件继承、模板修改、事件处理和UI设计的任务。通过这样的定制,我们可以为用户提供更符合业务需求的...
**Ext.extend() 与组件扩展** `Ext.extend()` 是 ExtJS 提供的面向对象继承机制,允许你创建新的类或者扩展已有的类。在 Ext2.x 及更早版本中,它是扩展内置类的主要方式。即使在 Ext2.x 之后,理解 `Ext.extend()`...
在"无废话ExtJS系列教程十八[继承:Extend]"中,我们主要关注的是ExtJS中的类继承机制,这是一个核心特性,它允许开发者创建可复用和可扩展的组件结构。在JavaScript中,继承是通过原型链实现的,而在ExtJS中,它被...
- 扩展通常通过继承原组件并重写或添加方法实现,例如,为DateTimeField添加时间范围限制或者自定义弹出日历的样式。 - `index.html`文件通常作为示例或测试页面,展示如何使用这些扩展的控件,开发者可以通过打开...
ExtJs是一款广泛应用于Web前端开发的JavaScript库,它提供了丰富的组件和功能,使得开发者能够构建交互性强、用户体验优秀的Web应用程序。在本主题中,我们关注的是ExtJs3.4版本中的一个扩展——Tags控件。这个控件...